修改行为​​异常的数组中的参考项目

时间:2019-05-09 22:16:48

标签: php reference

如果我通过引用在foreach循环中修改嵌套数组,然后在第二个foreach循环中使用它(按值传递),那么我将释放最后一个嵌套数组,该数组将被penultime嵌套数组替换。

但是,如果我通过引用而不是第二个foreach循环中的值传递项目,那么我会得到预期的结果。

$array = array(0 => array("A" => "A1", "B" => "B1"), 1 => array("A" => "A2", "XX" => "BAF", "B" => "B2"), 2 => array("A" => "A3", "B" => "B3"));

foreach($array as &$value ){
    unset($value["B"]);
}

$array[1]["XX"] = "CCC";

foreach($array as $value){
    echo var_dump($value);
}

我期望这样的事情:

array(1){[“” A“] =>字符串(2)” A1“} array(2){[” A“] =>字符串(2)” A2“ [” XX“] =>字符串(3)“ CCC”} array(1){[“”“] =>字符串(2)” A3“}

但是我得到: array(1){[“” A“] =>字符串(2)” A1“} array(2){[” A“] =>字符串(2)” A2“ [” XX“] =>字符串(3) “ CCC”} array(2){[“ A”] =>字符串(2)“ A2” [“ XX”] =>字符串(3)“ CCC”}

0 个答案:

没有答案