我知道如何将它插入到最后:

$arr[] = $item;

但是如何把它插入到开头呢?


当前回答

对于关联数组,你可以使用归并。

$arr = array('item2', 'item3', 'item4');
$arr = array_merge(array('item1'), $arr)

其他回答

或者你可以使用临时数组,然后删除真正的数组,如果你想在循环中改变它:

$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];

unset($array[1]);
array_unshift($array , $temp_array);

输出将是:

array(0 => 'b', 1 => 'a', 2 => 'c')

当你在循环中执行时,你应该在将item添加到数组后清除$temp_array。

对于关联数组,你可以使用归并。

$arr = array('item2', 'item3', 'item4');
$arr = array_merge(array('item1'), $arr)

有两种解决方案:

如果数组的键对你很重要

$new = ['RLG' => array(1,2,3)];
$array = ['s' => array(2,3), 'l' => [], 'o' => [], 'e' => []];

$arrayWithNewAddedItem = array_merge($new, $array);

如果你有一个没有任何键的数组。

array_unshift(array, value1);

使用array_unshift()插入数组中的第一个元素。

使用array_shift()删除数组的第一个元素。

如果是一个关联数组或编号数组,你不想改变数组键:

$firstItem = array('foo' => 'bar');

$arr = $firstItem + $arr;

Array_merge不起作用,因为它总是重新索引数组。