基本含义:就是内存空间中的数据的一个标识符。
含义:包含名称和值的一个标识符。
A:名称和值的关系可以称为"引用关系"(指代关系)
B:使用一个变量名其实就是指使用其该变量所“引用(指向)”的值。
定义形式:每个变量名前面必须以$开头,例如:$name = 18;
注意:PHP不支持 “单纯定义”一个变量,而是,在第一次变量赋值的时候,就算是定义变量了。
变量的命名规则:
1:以字母或下划线开头。
2:后面跟任意数量的字母,数字,下划线。
有三种常见的变量命名法:
1:驼峰命名法:首单词小写。其后每个单词首字母大写。
$name $myName
2:帕斯卡命名法:每个单词首字母大写;
$Nname $MyName
3:下划线分割法,每个单词小写,并且之间用下划线分开。
$name $my_name $my_father_name $_name
虽然在 PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值
- 布尔类型的变量默认值是 FALSE,
- 整形和浮点型变量默认值是零,
- 字符串型变量默认值是空字符串null或者数组变量的默认值是空数组。
*依赖未初始化变量的默认值在某些情况下会有问题,例如把一个文件包含到另一个之中时碰上相同的变量名。
另外把php.in register_globals 打开是一个主要的安全隐患。使用未初始化的变量会发出E_NOTICE错误,
但是在向一个未初始化的数组附加单元时不会。
变量的基本操作:(四种)
赋值:$var = 1;
等号(=)的左边放变量名,右边放”数据“,这就是赋值。
取值:任何需要一个数据的语句中使用一个变量,此时就是指从该变量取得该变量 的值,就是取值。
$d = $var;取出$var的值并赋值给$d。
$g = $var +1;//取得var的值,并进行加法计算。
判断:
isset():判断一个变量是否存在,也包括如果变量中值是null,也会判断不存 在。返回(true/false)。
![](https://img.haomeiwen.com/i2751642/07bd9b8c5a3328bf.png)
Empty():判断一个变量是否为空!有多种情况:“空的”‘0’,‘‘, false’,’null’,array()。
![](https://img.haomeiwen.com/i2751642/90b20dc1e7fad218.png)
isset()与empty()的区别!
Empty():如果var是非空或非零的值,则empty()返回FALSE。“”,0,“0”,NULL,FALSE,array(),以及没有任何属性的对象都将被认为是空的。
Isset():纯粹的就是判断是否设置值,设置返回TRUE,没设置返回FALSE.注意“0”,也会返回TRUE.如果一个变量的值是NULL也会判断为不存在。
![](https://img.haomeiwen.com/i2751642/54b05995064ef607.png)
删除:unset()删除一个变量,并不是指将该变量的从程序
中删除,而是断他他与数据之间的引用关系。
当删除一个变量的值以后,输出的话,系统会报错,因为他已经不存在了。
该变量名已经不指向(引用)数据了,则此时其isset()判断的结果就是false.
该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”--通常就被自动回收了!
变量的传值方式:
就是指”一个变量,传给另一个变量的内部细节形式——单对单
值传递:两个变量的值非绑定关系。(将数据空间复制一份)
代码示例:
$v1 = 1;
$v2 = $v1; //v2为1
$v2 = 10;
Echo $v1; //1
Unset($v1);
Isset($v2); //true
![](https://img.haomeiwen.com/i2751642/aa8b5d1a14bd65c5.png)
引用传递:
简单理解就是将一个变量跟其数据的“引用关系”,将其复制一份给予另一个变量,同样也有了一个“引用关系”&运算符-引用运算符
两个变量的值是绑定关系,$v1 = &$v2;(多个变量名使用同一个数据空间)
![](https://img.haomeiwen.com/i2751642/fad2dcf14e3bb6f4.png)
可变变量:
$v1 = abc;
$abc = 123;
echo $$v1;//会输出123.这是针对有规律的变量和变量值。
![](https://img.haomeiwen.com/i2751642/2c3779d70c4a947f.png)
预定义变量:
所谓预定义变量,其实指,PHP这个语言工具中,预先就定义好的变量;
我们直接“拿来使用就好”。
A:主要有:$_GET, $_POST, $_REQUEST, $_SERVER, $GLOBALS。
B:均是数组。
C:系统定义与维护。
D:具有超全局作用域。
E:不同情形下可能具有不同的值。
$_POST变量
含义:
它代表用户通过表单以POST方式提交的时候所提交的所有数据 --- 这个称为POST数据。
表示网页客户端通过post方式提交过来的数据。数据为一个数组。
取得数据的格式:$_POST[‘ ’]:
只有一种形式提交数据:那就是通过表单
$_GET[‘’]:
表示网页客户端通过get方式提交过来的数据。数据为一个数组。
格式:$_GET[‘’]:
多种形式:1:
2:”目标文件.Php?data1=数据&user=数据二”>
3: location href=”目标文件.php?data1=数据&user=数据二”;
4: location assgin(”目标文件.php?data1=数据&user=数据二”)
5:“location:目标文件.php?data1=数据&user=数据二”;
”)>
$_REQUEST[‘’]:
代表客户端提交过的get和post数据的“合集”。
$_SERVER[‘’]:
代表一些客户端在一次请求中的客户端信息和服务端信息
$_GLOBALS[‘’]
代表我们自定义的‘全局变量’的另一份存储形式。也就是所有的全局变量,都存到这个预定义常量中去了。
$v1 = 1;//全局变量:则此时就有了:$_GLOBALS[‘V1’];
网友评论