2011-04-06 75 views
2

我有此數組:更好的方法來做到這一點(可能使用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'), 
      'key2'=>'value array b key 2'), 
      ... 
     ); 

我需要從數組$ B值和把在關鍵的「K3」數組$一個,我使用這個功能來做到這一點:

foreach($a as $key => $item) { 
    $a[$key]['key3'] = $b[$key]; 
} 

它爲我工作,但我想知道如果有一個更好,更簡單的方法來做到這一點,使用array_map ....

任何人有一些想法?

+1

我認爲你正在做的方式比使用'array_map'更好 – 2011-04-06 21:01:03

+0

看起來不錯我fdias – 2011-04-06 21:08:04

+0

感謝你們.. .. – fdias 2011-05-24 14:43:34

回答

1

您的代碼更容易理解。該array_walk(不映射,因爲返回值並不重要),相當於將

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

這使用呼叫時傳遞引用,這已被棄用 – user102008 2012-06-03 19:14:20

相關問題