开发者

PHP - add item to beginning of associative array [duplicate]

This question already has answers here: Prepend associative array elements to an associative array (6 answers) Closed 9 years ago.

How can I add an item to the beginning of an associative array? For example, say I have an array like开发者_JAVA技巧 this:

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

When I add something to it as in $arr['key0'] = 'value0';, I get:

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

How do I make that to be

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

Thanks,

Tee


You could use the union operator:

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

or array_merge.


One way is with array_merge:

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

Depending on circumstances, you may also make use of ksort.


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


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

    return $array;
}


If you don't want to merge the arrays you could just use ksort() on the array before iterating over it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜