0

我正在尝试从 theOptions 数组中传递一些值并将它们放入一个名为 $theDefaults 的新数组中。

$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

看起来很接近,但为什么数组中的数字是?

4

1 回答 1

6

它甚至比这更简单:

$theDefaults = array();
foreach($theOptions as $v) {
    $theDefaults[$v['title']] = $v['attribute']; 
}
于 2013-03-29T04:22:26.007 回答