PHP foreach插入数组

时间:2017-02-19 19:56:05

标签: php arrays

我有一个数组数组,我正在尝试循环遍历并将新项插入子数组。

看看下面

            $newarray = array(
                    array("id"=>1,"quantity"=>2),
                    array("id"=>1,"quantity"=>2),
                    array("id"=>1,"quantity"=>2),
           );

           foreach($newarray as $item){
                $item["total"] = 9;
            }
           echo "<br>";
           print_r($newarray);

结果只给了原始数组而没有新的&#34;总数&#34;。为什么?

2 个答案:

答案 0 :(得分:3)

因为$item不是$newarray[$loop_index]的引用:

foreach($newarray as $loop_index => $item){
    $newarray[$loop_index]["total"] = 9;
}

答案 1 :(得分:1)

foreach()语句将$item作为数组:不作为实际值(使用数组)。这意味着它可以被读取但不会被更改,除非您覆盖消耗数组。

您可以使用for()并像这样循环:see demo

注意:这会一直回到范围,你应该研究一下。