变量命名规则
- 以字母或下划线开头
- 后跟任意数量(含0个)的字母,数字和下划线
- 驼峰命名法:首单词小写,其后每个单词首字母大写
- 下划线分割法:每个单词之间用下划线分开
- 帕斯卡命名法:每个单词首字母大写
判断isset(变量名):
作用:判断该变量是否存在,或该变量是否有数据值!存在或有数据返回true,否则返回false
$v1 = isset($s1); // 判断$1是否存在,结果为false
$s2 = 2
$v2 = isset($s2); // true
$3 = false;
$v3 = isset($3); // true
$4 = ""; // 这里是字符串
$v4 = isset($4) //true
$s5 = null; // 特别注意:null这个“值”(数据)的含义就是没有数据
$v5 = isset($s5); // false
删除unset(变量名):
含义:删除一个变量,并不是指将该变量从程序中删除,而是“断开”该变量名跟该变量原有的数据之间的引用关系,此时会有这样的结果
- 该变量名已经不指向(引用)任何数据了。则此时其isset()判断的结果是false
- 该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”—通常变量就被自动回收了
$v1 = 1;
unset($v1);
$s1 = isset($v1) // false
变量的传值方式
- 变量的传值方式是指“一个变量,传给另外一个变量”的内部细节形式—单对单
- 变量的传值方式,只有2中:值传递,引用传递;
值传递
$v1 = 1;
$v2 = $v1; // 这就是值传递
//简单理解:将$v1的值取出来(注意:$v1中的值还存在),然后再用该值给$v2赋值
$v1 = 1;
$v2 = $v1; // 值传递
$v1 = 10;
echo "<br/>v2 = $v1"; // v1 = 10
echo "<br/>v2 = $v2"; // v2 = 1
引用传递
php中只有一种语法形式可以实现变量的引用传值方式:&符号。举例如下
$m = 1;
$m2 = & $m1; // 引用传值方式
简单理解:将变量m1跟其数据值之间的“引用关系”,复制一份,再给予变量m2 即此时变量m2也同样具有原来数据的一个引用关系(指向关系);
结果是:
- 此时仍然有了两个变量,但只有
一个数据值(数据空间),2个变量都共同指向该数据空间。 - 对其中任何一个变量的操作,其实都是在操作数据值(空间)
可变变量
$s1 = 'abc'; // 这是一个变量,里面存储的是abc
$abc = 10;
echo $$s1; //输出 10
理解:
- 在php中,一个 $ 后面总是跟着一个变量名!
- 这里echo输出的这个变量(以第一个 为 标 识 ) 的 名 字 是 : s 1 既 " a b c " 所 以 这 里 的 输 出 的 是 为标识)的名字是:s1既"abc"所以这里的输出的是 为标识)的名字是:s1既"abc"所以这里的输出的是$abc 即 10
- 这种连续出现“$”符号的变量形式就是所谓的可变变量
// 以下演示“可变变量”的灵活性
// 所谓的可变变量,其实就是变量的名字是可以“动态变化”以获取不同的数据值
$v1 = 1;
$v2 = 2;
$v3 = 3;
$v4 = 4;
$v5 = 5;
// 求这5个变量的和:
$sum = 0;
for($i = 1;$i < 5;$i++){
$v = 'v'.$i; // 这里,结果其实是一个字符串,比如 “v1”“v2”....
$sum += $$V;
}
echo $sum