Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更好的方法(可能使用数组_映射)_Php_Arrays_Array Map - Fatal编程技术网

Php 更好的方法(可能使用数组_映射)

Php 更好的方法(可能使用数组_映射),php,arrays,array-map,Php,Arrays,Array Map,我有以下几点: $a = array( 'key1' => array ( 'k1'=>'value1', 'k2'=>'value2' , 'k3'='' ), 'key2' => array ( 'k1'=>'value1', 'k2'=>'value2' , 'k3'='' ), ... ); 我还有另一个数组: $b = array('key1'=>'value array b key 1

我有以下几点:

$a = array(
       'key1' => array ( 'k1'=>'value1', 'k2'=>'value2' , 'k3'='' ),
       'key2' => array ( 'k1'=>'value1', 'k2'=>'value2' , 'k3'='' ),
       ...
       );
我还有另一个数组:

$b = array('key1'=>'value array b key 1'),
           'key2'=>'value array b key 2'),
           ...
          );
我需要从数组$b中获取值,并将数组$a放入键“k3”中,我使用此函数来执行此操作:

foreach($a as $key => $item) {
    $a[$key]['key3'] = $b[$key];
}
这对我来说很有用,但我想知道是否有更好更简单的方法,使用数组映射


有人知道吗?

您的代码更容易理解。
数组_walk
(不是映射,因为返回值无关紧要)的等价项是

array_walk($b, function($el, $k, $a) {$a[$k]['key3'] = $el;}, &$a);

我认为您这样做比使用
array\u map
要好这使用了调用时间传递引用,这是不推荐的