2013-03-29 127 views
0

我想從選項數組中傳遞一些值,並將它們放入一個名爲$ theDefaults的新數組中。PHP我怎樣才能從一個數組傳遞值到另一個?

$theOptions = array(

    'item1' => array('title'=>'Title 1','attribute'=>'Attribute 1','thing'=>'Thing 1'), 
    'item2' => array('title'=>'Title 2','attribute'=>'Attribute 2','thing'=>'Thing 2'), 
    'item3' => array('title'=>'Title 3','attribute'=>'Attribute 3','thing'=>'Thing 3') 

); 

所以,$ theDefaults陣列應該是這樣的:

$theDefaults = array(

    'Title 1' => 'Attribute 1', 
    'Title 2' => 'Attribute 2', 
    'Title 3' => 'Attribute 3' 

); 

但是,我想不出如何做到這一點。 已經嘗試過,但顯然不是很有效。

$theDefaults = array(); 

foreach($theOptions as $k=>$v) { 
    array_push($theDefaults, $v['title'], $v['attribute']); 
} 

但是當我運行這個...

foreach($theDefaults as $k=>$v) { 
    echo $k .' :'.$v; 
} 

它返回。 0:標題11:屬性12:標題23:屬性24:標題35:屬性3

看起來是soooo close,但爲什麼數組中的數字?

回答

6

它比這更簡單:

$theDefaults = array(); 
foreach($theOptions as $v) { 
    $theDefaults[$v['title']] = $v['attribute']; 
} 
+0

注意到的問題是,'array_push'第一到數組結束後推動所有參數。 – castis

+0

Oooops,打我幾秒鐘。 :) –

+0

哇。那很快。謝謝!有效。顯然我可以在8分鐘內宣佈你的答案是正確的。 – Starfs

相關問題