如何将数组添加到数组中

时间:2015-11-12 16:03:27

标签: php arrays

我有一些带有一些数组的数组项。现在我想在数组项的顶部添加一个数组item_optional。

这是我尝试过的,但我认为这不正确:

$item_optional = array(
    'harry' => array('name'=>'test1', 'code'=>1697, 'hmp'=>'x1')
);

$items = array(
    'denise'  => array('name'=>'test2', 'code'=>2697, 'hmp'=>'x2'),
    'mike'    => array('name'=>'test3', 'code'=>3697, 'hmp'=>'x3'),
    'richard' => array('name'=>'test4', 'code'=>4697, 'hmp'=>'x4')
);

array_unshift($items, $item_optional);

输出应为:

$items = array(
    'harry'   => array('name'=>'test1', 'code'=>1697, 'hmp'=>'x1'),
    'denise'  => array('name'=>'test2', 'code'=>2697, 'hmp'=>'x2'),
    'mike'    => array('name'=>'test3', 'code'=>3697, 'hmp'=>'x3'),
    'richard' => array('name'=>'test4', 'code'=>4697, 'hmp'=>'x4')
);

3 个答案:

答案 0 :(得分:5)

您可以尝试:

$item_optional = array(
    'harry' => array('name'=>'test1', 'code'=>1697, 'hmp'=>'x1')
);

$items = array(
    'denise'  => array('name'=>'test2', 'code'=>2697, 'hmp'=>'x2'),
    'mike'    => array('name'=>'test3', 'code'=>3697, 'hmp'=>'x3'),
    'richard' => array('name'=>'test4', 'code'=>4697, 'hmp'=>'x4')
);

代码:

$items = $item_optional + $items;

结果:

array (size=4)
  'harry' => 
    array (size=3)
      'name' => string 'test1' (length=5)
      'code' => int 1697
      'hmp' => string 'x1' (length=2)
  'denise' => 
    array (size=3)
      'name' => string 'test2' (length=5)
      'code' => int 2697
      'hmp' => string 'x2' (length=2)
  'mike' => 
    array (size=3)
      'name' => string 'test3' (length=5)
      'code' => int 3697
      'hmp' => string 'x3' (length=2)
  'richard' => 
    array (size=3)
      'name' => string 'test4' (length=5)
      'code' => int 4697
      'hmp' => string 'x4' (length=2)

答案 1 :(得分:4)

尝试array_merge

$items = array_merge( $item_optional, $items );

或者您可以使用+ operator

$items = $item_optional + $items;

答案 2 :(得分:4)

您可以使用array_merge()。

这会将数组放在另一个数组的末尾。然后你的第一个参数将是你的数组在顶部,第二个参数将是最后的数组。

$items = array_merge( $item_optional, $items );

更多信息:array_merge()