加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 关联数组的数组,向关联数组添加新元素

发布时间:2020-12-13 17:21:46 所属栏目:PHP教程 来源:网络整理
导读:如果我有这样的数组: array(2) { [0]= array(2) { ["id"]= string(2) "34" ["total"]= string(6) "122337" },[1]= array(2) { ["id"]= string(2) "43" ["total"]= string(6) "232337" }} 我想为每个子数组添加一个新的键值,例如,它会像这样结束: array(2)
如果我有这样的数组:

array(2) {
  [0]=>
  array(2) {
    ["id"]=>
    string(2) "34"
    ["total"]=>
    string(6) "122337"
  },[1]=>
  array(2) {
    ["id"]=>
    string(2) "43"
    ["total"]=>
    string(6) "232337"
  }
}

我想为每个子数组添加一个新的键值,例如,它会像这样结束:

array(2) {
      [0]=>
      array(2) {
        ["id"]=>
        string(2) "34"
        ["total"]=>
        string(6) "122337"
        ["newkey"]=>
        string(6) "hihihi"
      },[1]=>
      array(2) {
        ["id"]=>
        string(2) "43"
        ["total"]=>
        string(6) "232337"
       ["newkey"]=>
        string(6) "hihihi"
      }
    }

我该怎么办?

我试过像这样的foreach:

foreach($exterior_array as $inside_array) {
 $inside_array['newkey'] = "hihihi";
}

但是一旦进入foreach,值就不会被保存.

解决方法

foreach($exterior_array as $inside_array) {
    $inside_array['newkey'] = "hihihi";
}

But once I get inside the foreach,the values are not saved.

那是因为你正在通过$inside_array处理数组的副本.您可以通过使$inside_array成为原始值的别名来访问要更改的“orignal”值;使用参考:

foreach($exterior_array as &$inside_array) {
                           ^- set the reference
    $inside_array['newkey'] = "hihihi";
}
unset($inside_array);
^^^^^^^^^^^^^^^^^^^^^- remove the reference

与http://php.net/foreach比较

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读