PHP - 将新对象添加到每个对象数组中

考虑一下 PHP 中的这个对象数组:


 array:2 [

      0 => array:4 [

        "Row_Id" => 256

        "Start_Date" => "2020-05-16"

        "account_code" => ""

        "caller_number" => "452"

        ]

    

      1 => array:4 [

        "Row_Id" => 257

        "Start_Date" => "2020-05-16"

        "account_code" => ""

        "caller_number" => "42"

        ]


      2 => array:4 [

        "Row_Id" => 258

        "Start_Date" => "2020-05-16"

        "account_code" => ""

        "caller_number" => "428"

        ]

    ]

我想添加"callee_number:100"每个数组,所以我的输出应该如下所示:


     array:2 [

          0 => array:5 [

            "Row_Id" => 256

            "Start_Date" => "2020-05-16"

            "account_code" => ""

            "caller_number" => "452"

            "callee_number" => "100"

            ]

        

          1 => array:5 [

            "Row_Id" => 257

            "Start_Date" => "2020-05-16"

            "account_code" => ""

            "caller_number" => "42"

            "callee_number" => "100"


            ]


          2 => array:5 [

            "Row_Id" => 258

            "Start_Date" => "2020-05-16"

            "account_code" => ""

            "caller_number" => "428"

            "callee_number" => "100"

            ]

        ]

我已将上述输入数组放入 $get 变量中。现在我调用array_push附加callee_number到每个数组:


  array_push($get,[

   'callee_number':'100'

    ]);

也尝试使用array_merge但callee_number没有被附加。我怎样才能做到这一点?


饮歌长啸
浏览 64回答 2
2回答

潇潇雨雨

给定以下数组:$array = [    [        "Row_Id" => 256,        "Start_Date" => "2020-05-16",        "account_code" => "",        "caller_number" => "452",    ],    [        "Row_Id" => 257,        "Start_Date" => "2020-05-16",        "account_code" => "",        "caller_number" => "42",    ],    [        "Row_Id" => 258,        "Start_Date" => "2020-05-16",        "account_code" => "",        "caller_number" => "428",    ],];原生 PHP$array = array_map(function ($item) { return $item + ['callee_number' => 100]; }, $array);使用集合$array = collect($array)->map(function ($item) { return $item + ['callee_number' => 100]; })->toArray();使用 PHP 7.4 简写$array = array_map(fn($item) => $item + ['callee_number' => 100], $array);// Or$array = collect($array)->map(fn($item) => $item + ['callee_number' => 100])->toArray();

跃然一笑

要添加或修改每个子数组中的元素,您可以这样做:foreach ($get as &$g) {&nbsp; $g["callee_number"] = 100;}或这个:for ($c = 0; $c < count($get); $c++) {$get[$c]["callee_number"] = 100;}
打开App,查看更多内容
随时随地看视频慕课网APP