变量命名规则
1、 在PHP中变量名字必须以“$”符号开始;
2、 名字由字母、数字和下划线“_”构成,但是不能以数字开头;
3、 在PHP中本身还允许中文变量(不建议)。
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
- $_GET:获取所有表单以get方式提交的数据
- $_POST:POST提交的数据都会保存在此
- $_REQUEST:GET和POST提交的都会保存
- $GLOBALS:PHP中所有的全局变量
- $_SERVER:服务器信息
- $_SESSION:session会话数据
- $_COOKIE:cookie会话数据
- $_ENV:环境信息
- $_FILES:用户上传的文件信息
可变变量
可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号。
$a = ‘b’;
$b = ‘bb’;
$$a --> bb
变量传值
-
将一个变量赋值给另外一个变量:变量传值
-
变量传值一共有两种方式:值传递,引用传递
- 值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
- 引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)
$新变量 = &$老变量;
- 在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率低
代码实现: