变量
PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己储存数据(临时储存)
变量基本概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
1、变量是用来储存数据的;
2、变量是存在名字的;
3、变量是通过名字来访问的:数据;
4、变量是可以改变的:数据。
变量的使用
PHP中的所有变量都必须使用”$“符号
1、定义:在系统中增加对应的变量名字(内存)
$var1; //定义变量
2、赋值:可以将数据赋值给变量名(可以在定义的同时完成)
$var2=1; //定义同时赋值
3、可以通过变量名访问存储的数据
echo $var2; //通过var2变量名字找到存储的内容1,然后输出
4、可以将变量从内存中删除
unset($var2); //使用unset(变量名字)函数
变量命名规则
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
变量传值
将一个变量赋值给另外一个变量:变量传值
变量传值一共有两种方式:值传递、引用传递
值传递:将变量保存的值复制一份,然后将新的值给另外一个变量保存(两个变量没有关系)
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)
$新变量=&$老变量
在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快
代码段:储存程序的内存部分(不执行)
数据段:储存普通数据(全局区和静态区)
堆区:储存复杂数据,大但是效率低