传值:
$a=3;$b=$a;$b=5;echo $a.'---'.$b.'<br/>';
当声明了$a=3的时候,会在内存中开辟一个空间存放3,而$a指向这个空间
$a=$b;也是在内存中开辟了一个空间,$a引用的是3的值,把3存在$b这个空间中
以上情况是传值,也就是两个变量指向的是两个空间,当$b的值改变$a的值也不会改变
因为$a和$b指向的是不同的空间
引用传值:
概念是:允许两个变量同时指向同一个内存空间
$m=4;$n=&$m;
当$n的值发生变化$m的值也会发生变化,因为指向的是同一个空间
以下是一个引用传值的小案例
$c=10;function demo($k){$k=$k+1;echo $k;}demo($c);echo $c;
这里输出的c毫无疑问是10,$c和$k只是发生了传值,也就是$c和$k分别指向内存空间中的两个地址,并没有发生地址传值
$c=10;function demo(&$k){$k=$k+1;echo $k;}demo($c);echo $c;
这里$c和$k指向的是内存中同一个地址,所以当$k发生变化的时候,$c也就发生了变化
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接