有关联数组:
$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 )
谢谢。
答案 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