相关疑难解决方法(0)

PHP Foreach通过引用传递:最后元素复制?(错误?)

我刚刚写了一个简单的PHP脚本,我有一些非常奇怪的行为.我把它减少到重新创建bug所需的最小值:

<?php

$arr = array("foo",
             "bar",
             "baz");

foreach ($arr as &$item) { /* do nothing by reference */ }
print_r($arr);

foreach ($arr as $item) { /* do nothing by value */ }
print_r($arr); // $arr has changed....why?

?>
Run Code Online (Sandbox Code Playgroud)

这输出:

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)
Array
(
    [0] => foo
    [1] => bar
    [2] => bar
)
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是一些应该发生的奇怪行为?

php arrays loops reference

156
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×1

loops ×1

php ×1

reference ×1