我正在尝试传递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
看起来太近了,但为什么数组中的数字?
答案 0 :(得分:6)
它比那更简单:
$theDefaults = array();
foreach($theOptions as $v) {
$theDefaults[$v['title']] = $v['attribute'];
}