我有一个这样的数组:
array(
0 => array(
'name' => 'group_one',
'options' => array('foo'=>'one', 'bar'=>'two')
),
1 => array(
'name' => 'group_two',
'options' => array('baz'=>'three', 'qux'=>'four')
)
);
我想将所有嵌套的options
数组合并为一个,所以它会是这样的:
array(
'foo' => 'one',
'bar' => 'two',
'baz' => 'three',
'qux' => 'four'
);
我有一种感觉,这很简单,但我尝试的任何东西看起来都太复杂了。任何帮助将不胜感激。
答案 0 :(得分:1)
也许某些东西更流畅,但这适用于任何长度的数组:
$result = array();
foreach($array as $v) {
$result = array_merge($result, $v['options']);
}
输出:
Array
(
[foo] => one
[bar] => two
[baz] => three
[qux] => four
)
答案 1 :(得分:0)
$my_array = $array[0]['options'] + $array[1]['options'];
您也可以使用array_merge()
答案 2 :(得分:0)
或尝试获取像这样的新数组
$array = array(
0 => array(
'name' => 'group_one',
'options' => array('foo' => 'one', 'bar' => 'two')
),
1 => array(
'name' => 'group_two',
'options' => array('baz' => 'three', 'qux' => 'four')
)
);
$options = array();
foreach ($array as $arr) {
foreach ($arr['options'] as $key => $value) {
$options[$key] = $value;
}
}
echo '<pre>';
print_r($options);
echo '<pre>';