首页 > 代码库 > 变量赋值和销毁

变量赋值和销毁

变量赋值和销毁
变量赋值有两种:
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
 
?>
 
 

变量赋值和销毁