我怎么能修改foreach循环中的数组?

时间:2015-02-08 12:10:45

标签: php

我有这段代码但不起作用。

$arr1 = array('test1', 'test2', 'test3');
$arr2 = array(1, 2, 3);

foreach ($arr1 as $x) {
    $m = array_shift($arr2);

    //at this point, $arr2 remains unchanged, why?

    continue;
}

$ arr2似乎在迭代之间和之间没有变化。任何见解都将受到高度赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

这确实有效。这段代码在这里:

$arr1 = array('test1', 'test2', 'test3');
$arr2 = array(1, 2, 3);

foreach ($arr1 as $x) {
    $m = array_shift($arr2);

    print_r($arr2);

    continue;
}

将打印出来:

Array ( [0] => 2 [1] => 3 ) Array ( [0] => 3 ) Array ( )