变量赋值有两种:
1:传值赋值, 先看图:如下
变量名存放处,可以看成一个体,装备 值和类型 又是一个个体, 每个变量名对应着一个值和一个隐属性(类型) 你值改成什么,名不会有影响 。一样,你名改什么,也影响不了别人。 这种赋值,叫传值赋值。
来看代码:
$a=23;
$b=20;
$b=$a;
var_dump($a,$b); //代码分析: 要打印出变量 $a,$b, 其值为?? ,先看$a,值是23, 然后看$b其值是个变量$a,那个计算下,$a值是23,然后23再赋值给$b . 最后,结果为 int 23 int23 . (这里还有一个小常识要知道,PHP中执行代码,是从上至下,一步一步来的,直至最后一行。所以,执行到最后,要打印变量$b是 看$b=$a这一行,而不是上一行 )
$b="xx";
var_dump($a,$b) //代码 分析:$a ,还是23 $b=‘xx‘ 这是一个赋值 过程 ,把字符串赋给$b ,那么$b的值是‘xx’ 最后,结果为,int 23 string ‘xx‘ (lenght2)--这是字符串长度意思。
二.变量赋值之引用赋值
看下列代码所示,好好思考。
<?PHP
$li=29;
$wang=23;
$wang=&$li;
var_dump($li,$wang);//打印 int 29 int 29 代码解读: &$li 这个句解释为,把$il的存值地址直接赋给了$wang,这样 $li 和 $wang 就共一个存值地方。这样,打印出了就是 29 29
$wang=‘w‘;
var_dump($li,$wang);//打印 string ‘w‘(length=1) string ‘w‘(length=1) 代码解读:因为一个存值地址对应了两个变量,改变一个变量的值,别一个值也得到了改变,所以打印出了 以上结果。
?>
三.销毁变量(unset)
意义:对于较大的数组,对象,可以及时释放内存
<?PHP
$a=100;
unset($a);
if(isset($a)){
echo ‘$a存在‘;
} else{
echo ‘$a不存在‘; //不存在
}
?>
<?PHP
$li=29;
$wang=23;
$wang=&$li;
unset($li);
var_dump($wang,$li); //打印出了,int 29 null 。想想看,为什么不全是null。明白了,就说明以上知识过关了。
?>
四.动态变量
动态变量,用变量的值做另一个变量的名
<?PHP
$lisi=‘man‘;
$one=‘lisi‘;
$pi=‘one‘;
echo $one,${$one},$$$pi;//动态变量,用变量的值做另一个变量的名。打印 lisi man man
?>