Ответ 1
Вы можете использовать оператор union:
$arr1 = array('key0' => 'value0') + $arr1;
или array_merge
.
Как добавить элемент в начало ассоциативного массива? Например, скажем, у меня есть такой массив:
$arr = array('key1' => 'value1', 'key2' => 'value2');
Когда я добавляю что-то к нему, как в $arr['key0'] = 'value0';
, я получаю:
Array ( [key1] => value1 [key2] => value2 [key0] => value0 )
Как сделать это
Array ( [key0] => value0 [key1] => value1 [key2] => value2 )
Спасибо,
Тройник
Вы можете использовать оператор union:
$arr1 = array('key0' => 'value0') + $arr1;
или array_merge
.
Один из способов: array_merge
:
<?php
$arr = array('key1' => 'value1', 'key2' => 'value2');
$arr = array_merge(array('key0' => 'value0'), $arr);
В зависимости от обстоятельств вы также можете использовать ksort
.
$array = array('key1' => 'value1', 'key2' => 'value2');
array_combine(array_unshift(array_keys($array),'key0'),array_unshift(array_values($array),'value0'))
Если вы не хотите объединять массивы, вы можете просто использовать ksort()
в массиве перед его повторением.
function unshift( array & $array, $key, $val)
{
$array = array_reverse($array, 1);
$array[$key] = $val;
$array = array_reverse($array, 1);
return $array;
}