2017-08-04 15 views
0

陣列1分配一個新的數組每個鍵值:如何在另一個數組

$data = array(

'@attributes' => array(
    'coolid' => 'V546546', 
    'emailaddress' => '[email protected]', 
    )); 

這是陣列2:

$map = array(

'foo' => array(
    'id' => 'foo', 
    'tag' => '{my:foo}', 
    'label' => __('Foo', 'my_plugin'), 
    'callback' => 'foo' 
)); 

我試圖爲每個鍵創建一個新的陣列在$ data ['@ attributes']中。我想獲得新的陣列具有相同的結構,$地圖,更換了與該$鍵「富」的提及$數據[「@屬性」] ...使得輸出如下:

$desiredArray = array(

'coolid' => array(
    'id' => 'coolid', 
    'tag' => '{my:coolid}', 
    'label' => __('coolid', 'my_plugin'), 
    'callback' => 'coolid' 
)); 

'emailaddress' => array(
    'id' => 'foo', 
    'tag' => '{my:emailddress}', 
    'label' => __('emailaddress', 'my_plugin'), 
    'callback' => 'emailaddress' 
)); 

所有幫助表示讚賞,我已經試過這種的foreach ..但沒有運氣

foreach($data['@attributes'] as $key) {  
    $key = array(
    'id' => $key, 
    'tag' => '{my:'.$key.'}', 
    'label' => __($key, 'my_plugin'), 
    'callback' => $key 
)); 
} 

回答

0
$desiredArray = array(); 
foreach($data['@attributes'] as $key => $value) {  
    $desiredArray[$key] = array(
     'id' => $key, 
     'tag' => '{my:'.$key.'}', 
     'label' => __($key, 'my_plugin'), 
     'callback' => $key 
    ); 
} 

Check foreach syntax

相關問題