php 变量
变量的基本使用
- 定义变量(赋值):直接给变量赋值,就是定义;
- 不支持js中的那种“定义但不赋值”的语法。
- 换句话说,第一次给一个变量赋值,就算定义变量。
- 取值:所有需要一个变量值的语句中,就会取得该变量的值,常见包括:
- 输出:echi $v1; //取得$v1的值,并输出
- 给其他变量赋值$v2 = $v1; //取得$v1的值,并赋值给$v2
- 参与运算:$v3 = $v1 + 3; //取得$v1的值,并跟3相加,。。。。
- 判断变量是否存在isset()
- 存在,就返回true,不存在就返回false
- 实际上,如果一个变量的值是null,返回的也是false
- 修改变量值(赋值):
- 第二次及以后给一个变量赋值,就算修改变量值
- 删除unset():就是断开变量名跟数据之间的“引用关系”
值传递
是指将一个变量的数据值(数据内容)拷贝一份,然后赋值给另一个变量。
代码示例:
引用传值:
是指将一个变量的引用关系拷贝一份,然后赋值给另一个变量,即另一个变量也同样由该关系决定了指向某个数据:
代码示例:
图示如下:
赋值(传值)完之后,两个变量指向同样一个数据。
我们有知道,对变量的操作就是对数据的操作。
则:
对变量v1的操作,改变的数据,也就是体现为v2也发生了改变。
测试:
<?php $v20++; echo "<br/>v10=$v10,v20=$v20";
结果为 v10=11,v20=11
另外,在这种引用传值的情况下,unset一个变量,则另一个跟它有关(指向同样数据的关系)的变量,并不受影响。
测试:
可变变量
所谓可变变量,就是一个变量的名,又是一个变量。
可变变量的语法是php的很特殊的语法——其他语言中少见。
$v1 = “abc”; //这是一个字符串变量,其内容是字符串“abc”
$abc = 10; //这是一个普通变量,其内容是数字10
echo $$v1; //此时,就是所谓“可变变量”
怎么理解:
1,凡是$符号出现,就会有可能理解为是一个变量
2,这里第一个“$”出现了,则php就视图将其解释为一个变量,变量名是$v1;
3,我们有知道,$v1的值是”abc”,
4,那么,第一个“$”符号后面的变量名,就得到为“abc”
5,即:echo 试图输出的是变量$abc, 自然是数字10
实际上,理论上,可变变量的嵌套还可以更多,比如:$$$def;