complicate array push到第一个索引

时间:2013-05-03 02:58:14

标签: php arrays multidimensional-array

我有多维数组,就像

一样
$column = array( 
"person#1"=> array ("name"=>"Leon" , "Age"=>"19" ),
"person#2"=> array ("name"=>"Gary" , "Age"=>"31" ),
"person#3"=> array ("name"=>"May" , "Age"=>"25" )
)

现在,我想要的是推送像

这样的东西
"person#4"=> array ("name"=>"Tony" , "Age"=>"28" )

到数组列的第一个位置。

我已经调查了

array_unshift($column, array("person#1"=> array ("name"=>"Tony" , "Age"=>"28" ));

它确实用我的数组替换数组和变量,但总是用'0'而不是person#4索引

2 个答案:

答案 0 :(得分:3)

为什么不做一个简单的$new_person + $column

答案 1 :(得分:2)

使用array_merge()

<?php
header('Content-Type: text/plain');

$column = array(
"person#1"=> array ("name"=>"Leon" , "Age"=>"19" ),
"person#2"=> array ("name"=>"Gary" , "Age"=>"31" ),
"person#3"=> array ("name"=>"May" , "Age"=>"25" )
);

$column = array_merge(array( "person#4" => array ("name" => "Tony" , "Age" => "28" )), $column);

var_dump($column);
?>

节目:

array(4) {
  ["person#4"]=>
  array(2) {
    ["name"]=>
    string(4) "Tony"
    ["Age"]=>
    string(2) "28"
  }
  ["person#1"]=>
  array(2) {
    ["name"]=>
    string(4) "Leon"
    ["Age"]=>
    string(2) "19"
  }
  ["person#2"]=>
  array(2) {
    ["name"]=>
    string(4) "Gary"
    ["Age"]=>
    string(2) "31"
  }
  ["person#3"]=>
  array(2) {
    ["name"]=>
    string(3) "May"
    ["Age"]=>
    string(2) "25"
  }
}