ZetCode

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 )

最佳实践

来源

PHP array_unshift 文档

本教程介绍了 PHP 的 array_unshift 函数,并通过示例展示了如何在不同场景下将元素添加到数组开头。

作者

我叫 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 PHP 数组函数