PHP array_unshift 函数
最后修改于 2025 年 3 月 13 日
PHP 的 array_unshift
函数将一个或多个元素添加到数组的开头。它会修改原始数组并返回新元素的数量。
基本定义
array_unshift
将元素添加到数组的开头。所有数字数组键都会从零开始重新索引。字符串键保持不变。
语法:array_unshift(array &$array, mixed ...$values): int
。该函数在添加元素后返回数组中元素的数量。
基本的 array_unshift 示例
这演示了如何向数组开头添加单个元素。
basic_array_unshift.php
<?php $fruits = ["banana", "apple"]; $count = array_unshift($fruits, "orange"); print_r($fruits); echo "New count: $count";
该函数将“orange”添加到开头,并返回 3,这是新的元素计数。
添加多个元素
array_unshift
可以一次添加多个元素。
multiple_elements.php
<?php $numbers = [3, 4]; $count = array_unshift($numbers, 1, 2); print_r($numbers); echo "New count: $count";
1 和 2 都被添加到开头。该函数返回 4,这是新的数组长度。
关联数组
对于关联数组,数字键会被重新索引,而字符串键会保留。
associative_array.php
<?php $data = ["name" => "John", 0 => "apple"]; $count = array_unshift($data, "first"); print_r($data); echo "New count: $count";
输出显示字符串键保留:Array ( [0] => first [name] => John [1] => apple )
。数字键已从 0 重新索引为 1。
空数组处理
在空数组上使用时,array_unshift
只是添加元素。
empty_array.php
<?php $empty = []; $count = array_unshift($empty, "a", "b"); print_r($empty); echo "New count: $count";
该函数以相同的方式工作,将元素添加到空数组并返回新的计数(2)。
返回值用法
返回值可以直接用于表达式或赋值。
return_value.php
<?php $colors = ["red", "blue"]; if (array_unshift($colors, "green") > 2) { echo "Array now has more than 2 elements"; } print_r($colors);
这会立即检查返回值。输出显示消息和修改后的数组:Array ( [0] => green [1] => red [2] => blue )
。
最佳实践
- 性能:避免对大型数组频繁使用 unshift。
- 清晰度:仅用于清晰的前置操作。
- 索引:注意数字键的重新索引。
- 替代方案:对于复杂情况,请考虑使用 array_merge。
来源
本教程介绍了 PHP 的 array_unshift
函数,并通过示例展示了如何在不同场景下将元素添加到数组开头。
作者
列出 所有 PHP 数组函数。