2018年11月

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系统中的快捷方式

$新变量 = &$老变量

在内存中,通常有以下几个分区:

栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快

代码段:存储程序的内存部分(不执行)

数据段:存储普通数据(全局区和静态区)

堆区:存储复杂数据,大但是效率低