引用传值 $b = &$a; // $a和$b共用同一个空间
<?php //php传值方式 //传值赋值(两个人看两台电视) $a = 'zhangsan'; $b = $a; echo $a, '-', $b . '<br>'; //zhangsan-zhangsan //引用传值(两个人看一台电视) $a = 'lisi'; $b = &$a; $b = 'wangwu'; echo $a, '-', $b . '<br>'; //wangwu-wangwu ?
从上面的例子,可以看出普通的传值方式,并不会改变变量原有的值,传值赋值方式会改变原有变量的值
对象本身就是引用传递
例子1
class Persion { public name = "zhangsan"; } $p1 = new Persion; $p2 = $p1; // 没有新增空间,用的是同一个地址
例子2
$data = ["a","b","c"]; foreach($data as $key=>$value){ $val = &data[$key] } 每次循环后变量$data的值是什么 [a,b,c] [b,b,c] [b,c,c] 执行完毕后,$data的值是什么 [b,c,c]
坚持学习,成就自我