2013-03-29 3 views
0

Я пытаюсь передать некоторые значения из массиваOptions и отбросить их в новый массив с именем $ 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

Выглядит так близко, но почему цифры в массиве?

ответ

6

Это даже проще, чем:

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

отмечая, что вопрос в том, что 'array_push' толкает все аргументы после первого конца массива. – castis

+0

Оуоопс, избил меня на несколько секунд. :) –

+0

ничего себе. это было быстро. Благодаря! это сработало. видимо, я могу подтвердить ваш ответ правильно через 8 минут. – Starfs

Смежные вопросы