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