以前一直以为array 、 objec 、资源等复杂数据类型的传递都是传址的,今天做了一个小实验,发现数组并不是我想的那样:
$a = array(
"a" => "123"
);
print_r($a);
$b = $a;
$b["b"] = "456";
print_r($a);
$c = &$a;
$c["c"] = "456";
print_r($a);可以自己试一试
本文通过实验展示了PHP中数组的引用与赋值机制,并解释了数组赋值时的变化过程,揭示了数组赋值背后的底层实现原理。
以前一直以为array 、 objec 、资源等复杂数据类型的传递都是传址的,今天做了一个小实验,发现数组并不是我想的那样:
$a = array(
"a" => "123"
);
print_r($a);
$b = $a;
$b["b"] = "456";
print_r($a);
$c = &$a;
$c["c"] = "456";
print_r($a);
被折叠的 条评论
为什么被折叠?