php变量
php是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而php作为“中间人”,需要进行数据的传递,传递的前提就是php能自己存储数据(临时存储)
变量基本概念
变量来源于数学,是计算机语言中能存储计算结果或能表示值抽象概念,变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
1、 变量是用来存储数据的
2、 变量是存在名字的
3、 变量是通过名字来访问的:数据
4、 变量是可以改变的:数据
变量的使用
1、 定义:在系统中增加对应的变量名字(内存)
2、 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
3、 可以通过变量名访问存储的数据
4、 可以将变量从内存中删除
变量命名规则
1、 在php中变量名字必须以“$”符号开始
2、 名字由字母、数字和下划线“_”构成,但是不能以数字开头
3、 在php中本身还允许中文变量(不建议)
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
$_GET:获取所有表单以get方式提交的数据
$_POST:post提交的数据都会保存在此
$_REQUEST:get和post提交的都会保存
$GLOBALS:php中所有的全局变量
$_SERVER服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的文件信息
可变变量
可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号
解释:1、找到$a,解析结果:b
2、将前面的$符号与结果b绑定:$b,然后第三步解析
变量传值
将一个变量赋值给另外一个变量:变量传值
变量传值一共有两种方法:值传递,引用传递
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)类似与windows系统中的快捷方式
$新变量 = &$老变量
在内存中,通常有以下几个分区:
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率低