0

私はこのような配列を持っています:

array(
  0 => array(
    'name' => 'group_one',
    'options' => array('foo'=>'one', 'bar'=>'two')
  ),
  1 => array(
    'name' => 'group_two',
    'options' => array('baz'=>'three', 'qux'=>'four')
  )
);

ネストされたすべての配列を 1 つにマージしたいoptionsので、次のようになります。

array(
  'foo' => 'one',
  'bar' => 'two',
  'baz' => 'three',
  'qux' => 'four'
);

これは非常に単純な気がしますが、私がしようとすることは複雑すぎるようです. どんな助けでも大歓迎です。

4

3 に答える 3

1

たぶんもっと洗練されたものですが、これはどの長さの配列でも機能するはずです:

$result = array();

foreach($array as $v) {
    $result = array_merge($result, $v['options']);
}

出力:

Array
(
    [foo] => one
    [bar] => two
    [baz] => three
    [qux] => four
)
于 2013-11-12T22:01:59.527 に答える
0
$my_array = $array[0]['options'] + $array[1]['options'];

使用することもできますarray_merge()

于 2013-11-12T22:01:52.820 に答える