如何在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
使用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"] )