1

可能重复:
PHP - 将项目添加到关联数组的开头

有关联数组:

$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 ) 

谢谢你。

4

3 回答 3

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"
}
于 2012-10-02T18:52:53.573 回答
1

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

<?php
$myarray = array_merge(array('keynew' => '-valuenew'), $myarray);
于 2012-10-02T18:52:14.597 回答
0

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

于 2012-10-02T18:50:06.060 回答