代码之家  ›  专栏  ›  技术社区  ›  lovespring

为什么?关于PHP数组和PHP foreach循环[duplicate]

php
  •  3
  • lovespring  · 技术社区  · 15 年前

    如果我对一个数组进行两次迭代,一次是引用,然后是值,如果我对每个循环使用相同的变量名,PHP将覆盖数组中的最后一个值。通过一个例子最好地说明了这一点:

    $array = range(1,5);
    foreach($array as &$element)
    {
      $element *= 2;
    }
    print_r($array);
    foreach($array as $element) { }
    print_r($array);
    

    数组([0]=>2[1]=>4[2]=>6[3]=>8 [4] =>10

    数组([0]=>2[1]=>4[2]=>6[3]=>8 [4] =>8 )

    $element ,所以我猜这和 $元素 在第一个循环结束后仍在作用域和引用中。

    0 回复  |  直到 13 年前
    推荐文章