将数据推送到 php 中数组中的元素

Push data to elements in array in php

$array = array(array("a"=>1),array("a"=>2));

我需要将数据推送到 $array 中的子数组元素,

最终结果必须如下,

 Array ( [0] => Array ( [a] => 1 [b] => 2 ) [1] => Array ( [a] => 2 [b] => 2 ) )

我使用了以下方法。

  1. foreach($array as &$a){ $a['b']=2;}

  2. $result = array_map("pushdata",$array);

    function pushdata($a){
    $a['b']=2;
    }
    

什么是最合适和性能高的方式当$array 包含超过 1000 条记录时 ?

这里有 5 个项目的示例。

<?php

  for($i = 1 ; $i<5 ; $i++){
     $array[] = array("a"=>$i,"b"=>2);
  }

  print_r($array);

?>

See online

使用array_walk , to iterate over the array and array_push将元素推送到每次迭代。

下面是使用 array_walk() 向每个子数组添加新键 b 的示例:

$array = array(array('a' => 1), array('a' => 2));
array_walk($array, function(&$item, $key) {
  $item['b'] = 2;
});
print_r($array);
/* outputs:
Array
(
  [0] => Array
  (
      [a] => 1
      [b] => 2
  )
  [1] => Array
  (
      [a] => 2
      [b] => 2
  )
)
*/