我有以下代码:
$array = array(
array("name"=>"John"),
array("name"=>"Rob"),
array("name"=>"Tom"),
);
foreach($array as &$el)
$el["age"]=23;
foreach($array as $el)
echo $el["name"] . " is: " . $el["age"] . " years old<br>";
我期待这样的事情:
John is: 23 years old
Rob is: 23 years old
Tom is: 23 years old
但我确实收到以下内容:
John is: 23 years old
Rob is: 23 years old
Rob is: 23 years old
为什么?在第一个foreach循环中,我使用引用来编辑源数组。