PHP中的赋值-引用or传值?
直接上代码:
<?php $num1 = 1; $num2 = $num1; $num1 = 2; echo $num2 . "\n"; $arr1 = array(1, 2); $arr2 = $arr1; $arr1[0] = 3; print_r($arr2); $obj1 = new StdClass(); $obj2 = $obj1; $obj1->val = 1; print_r($obj2);
上述代码的输出结果为:
// number
1
// Array
Array
(
[0] => 1
[1] => 2
)
// Object
stdClass Object
(
[val] => 1
)
由此可以看出,将一个变量赋值给另外一个变量,如果是对象,那么就是引用赋值;如果非对象(数值、字符串、数组等),就是重新分配内存空间。

浙公网安备 33010602011771号