PHP - 将项添加到关联数组的开头

时间:2011-04-25 22:01:32

标签: php

如何将项添加到关联数组的开头?例如,假设我有一个这样的数组:

$arr = array('key1' => 'value1', 'key2' => 'value2');

当我在$arr['key0'] = 'value0';中添加内容时,我得到:

Array
(
    [key1] => value1
    [key2] => value2
    [key0] => value0
)

如何使其成为

Array
(
    [key0] => value0
    [key1] => value1
    [key2] => value2
)

谢谢,
三通

5 个答案:

答案 0 :(得分:214)

您可以使用union operator

$arr1 = array('key0' => 'value0') + $arr1;

array_merge

答案 1 :(得分:21)

一种方法是使用array_merge

<?php
$arr = array('key1' => 'value1', 'key2' => 'value2');
$arr = array_merge(array('key0' => 'value0'), $arr);

根据具体情况,您也可以使用ksort

答案 2 :(得分:7)

$array = array('key1' => 'value1', 'key2' => 'value2');
array_combine(array_unshift(array_keys($array),'key0'),array_unshift(array_values($array),'value0'))

答案 3 :(得分:2)

如果你不想合并数组,你可以在迭代之前在数组上使用ksort()

答案 4 :(得分:2)

function unshift( array & $array, $key, $val)
{
    $array = array_reverse($array, 1);
    $array[$key] = $val;
    $array = array_reverse($array, 1);

    return $array;
}