Ассоциативный массив – перемещение элемента в первую позицию

Возможный дубликат:
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 ) 

Спасибо.

Попробуйте следующее:

 <?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" } 

Вы можете попробовать использовать array_merge() – она ​​объединяет массивы при сохранении порядка.

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

Вы еще не изучали array_merge? Я думаю, это поможет вам: http://php.net/manual/en/function.array-merge.php