变量
PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时数据)
变量的基本概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问,在指令式语言中,变量通常是可变的
- 变量是用来存储数据的;
- 变量是存在名字的;
- 变量是通过名字来访问的:数据;
- 变量是可以改变的:数据;
变量的使用
PHP中所有的变量都必须是”$“符号;
1. 定义:在系统中增加对应的变量名字(内存);
<?php
//变量
//定义变量:在PHP中,变量是一种存储数据的容器,
//变量名以美元符号$开头,后面跟变量名。
//定义变量中,在PHP中不需要任何关键字定义变量(赋值)
//可以用来存储字符串、整数、浮点数、布尔值、数组、对象等类型的数据。
//变量名只能包含字母数字和下划线,且不能以数字开头。
//变量名区分大小写。
$var1; //声明变量,但不赋值,此时变量的值为NULL
$var2 = 1; //定义变量并赋值变量赋值
?>
2. 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
3.可以通过变量名访问存储的数据
4.可以将变量从内存中删除
变量命名规则
- 变量名以美元符号$开头,后面跟变量名。
- 名字由字母、数字和下划线“_”构成,但是不能以数字开头;
- 在PHP中本身还允许中文字量(不建议)
//变量命名规则
$var1;$var2_var1;$_var1; //正确的变量名
$1_var1; //错误的变量名,以数字开头
//中文变量
$中文变量 = "中文";
$中国="china"; //正确的变量名
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
//预定义变量
$_GET; //用于获取URL传递的参数
$_POST; //用于获取POST传递的参数
$_REQUEST; //用于获取GET和POST传递的参数
$_SERVER; //包含了诸如HTTP头、路径等信息
$_FILES; //包含了上传的文件信息
$_SESSION; //用于存储用户会话信息
$_COOKIE; //用于存储用户的Cookie信息
$_ENV; //包含了环境变量
$_POST; //用于获取POST传递的参数
可变变量
可变变量:如果一个变量的值刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再加一个$符号。
$a='b';
$b='bb';
则echo $$a 输出结果为 bb
变量传值
将一个变量赋值给另外一个变量:变量传值;
变量传值一共有两种方式:值传递,引用
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)
在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但快
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率低