【问题标题】:PHP foreach insert arrayPHP foreach 插入数组
【发布时间】:2017-07-08 23:57:25
【问题描述】:

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

往下看

            $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);

结果只是给了我没有新“总数”的原始数组。为什么?

【问题讨论】:

标签: php arrays


【解决方案1】:

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

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

【讨论】:

  • 我认为这是正确的答案。 10 分钟后将接受它。
【解决方案2】:

foreach() 语句将$item 作为数组提供:不是实际值(使用数组)。这意味着它可以读取但不能更改,除非您随后覆盖消费数组。

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

注意:这一直追溯到作用域,你应该研究一下。

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 2013-05-05
    • 2011-08-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多