关联数组 - 将元素移动到第一个位置

时间:2012-10-02 18:46:22

标签: php

  

可能重复:
  PHP - add item to beginning of associative array

有关联数组:

$myarray=array("key1"=>"value1","key2"=>"value2");

需要向数组添加新元素:

$myarray["keynew"]="valuenew";

所以现在$ myarray是:

Array ( [key1] => value1 [key2] => value2 [keynew] => valuenew ) 

如何将新添加的元素(“keynew”=>“valuenew”)移动到数组的第一个位置?

我有一个解决方法,但我不喜欢它。

$myarray=array("key1"=>"value1","key2"=>"value2");
$myarray["keynew"]="-valuenew";
asort($myarray);
$myarray["keynew"]="valuenew";
//$myarray=Array ( [keynew] => valuenew [key1] => value1 [key2] => value2 ) 

谢谢。

3 个答案:

答案 0 :(得分:3)

尝试以下方法:

<?php
$myArray  = array('key1' => 'value1', 'key2' => 'value2');
$myArray2 = array('keynew' => 'valuenew');
var_dump($myArray2 + $myArray);

输出:

% php test.php 
array(3) {
  ["keynew"]=>
  string(8) "valuenew"
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}

答案 1 :(得分:1)

您可以尝试使用array_merge()函数 - 它会在保留顺序的同时合并数组。

<?php
$myarray = array_merge(array('keynew' => '-valuenew'), $myarray);

答案 2 :(得分:0)

你有没看过array_merge呢?我认为这会对你有所帮助:http://php.net/manual/en/function.array-merge.php