如何在PHP中插入一个项目到数组的开头?

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

$arr[] = $item; 

但如何将其插入到开始?

使用array_unshift($ array,$ item);

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

会给你

 Array ( [0] => item1 [1] => item2 [2] => item3 [3] => item4 ) 

如果您不想更改数组键的关联数组或数组数组:

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

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

使用函数array_unshift

这将有所帮助

http://www.w3schools.com/php/func_array_unshift.asp

 array_unshift(); 

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

用户array_shift()移除数组的第一个元素。

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

 $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') 

而在循环中的时候,你应该在将数组追加到数组之后清理$temp_array

用自定义索引:

 $arr=array("a"=>"one", "b"=>"two"); $arr=array("c"=>"three", "d"=>"four").$arr; print_r($arr); ------------------- output: ---------------- Array ( [c]=["three"] [d]=["four"] [a]=["two"] [b]=["one"] )