即使在foreach循环之后,仍保留$ value的引用和最后一个数组元素。建议通过unset()销毁它

时间:2019-01-31 12:49:16

标签: php arrays foreach reference

我不能足够强调文档的这一点!这是一个为什么必须这样做的简单示例:

<?php
    $arr1 = array("a" => 1, "b" => 2, "c" => 3);
    $arr2 = array("x" => 4, "y" => 5, "z" => 6);

   foreach ($arr1 as $key => &$val) {}
   foreach ($arr2 as $key => $val) {}

   var_dump($arr1);
   var_dump($arr2);

  ?>

输出为:

array(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> &int(6) }
array(3) { ["x"]=> int(4) ["y"]=> int(5) ["z"]=> int(6) }

请注意,$ arr1中的最后一个索引现在是如何从$ arr1中的最后一个索引值   $ arr2!

0 个答案:

没有答案