php数组和foreach循环的奇怪行为

时间:2016-05-28 14:16:20

标签: php arrays foreach

我有以下代码:

$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循环中,我使用引用来编辑源数组。

0 个答案:

没有答案