ZetCode

PHP array_pop 函数

最后修改于 2025 年 3 月 13 日

PHP 的 array_pop 函数移除并返回数组的最后一个元素。它会使数组长度减一,并返回被移除的值。

基本定义

array_pop 函数移除数组的最后一个元素。如果数组为空,它会返回被移除的元素或 null。

语法:array_pop(array &$array): mixed。该函数通过引用接收一个数组并直接修改它。数组的长度会减 1。

基本的 array_pop 示例

这演示了如何从一个简单的数字数组中移除最后一个元素。

basic_array_pop.php
<?php

$fruits = ['apple', 'banana', 'cherry'];
$lastFruit = array_pop($fruits);

print_r($fruits); 
echo $lastFruit;  

代码从数组中移除了 'cherry' 并将其存储在 $lastFruit 中。原始数组现在只包含两个元素。

使用数字数组

此示例展示了 array_pop 如何影响数字数组的索引。

numeric_array.php
<?php

$numbers = [10, 20, 30, 40];
$lastNumber = array_pop($numbers);

echo "Removed: $lastNumber\n"; 
echo "Count: " . count($numbers) . "\n"; 
print_r($numbers); 

最后一个元素 (40) 被移除并返回。数组的计数从 4 减少到 3,但现有索引保持不变。

将 array_pop 与关联数组一起使用

演示了 array_pop 在关联数组中的行为。

associative_array.php
<?php

$user = [
    'name' => 'John',
    'email' => 'john@example.com',
    'age' => 30
];

$lastValue = array_pop($user);

echo "Removed: $lastValue\n"; 
print_r($user); 

最后一个键值对 ('age' => 30) 被移除。该函数与关联数组以及索引数组的使用方式相同。

空数组行为

显示了当对空数组调用 array_pop 时会发生什么。

empty_array.php
<?php

$emptyArray = [];
$result = array_pop($emptyArray);

var_dump($result); 
echo count($emptyArray); 

当对空数组调用时,array_pop 返回 NULL。数组保持为空,不会生成错误。

在循环中使用 array_pop

演示了通过重复移除最后一个元素来处理数组元素。

loop_example.php
<?php

$stack = ['first', 'second', 'third'];

while ($element = array_pop($stack)) {
    echo "Processing: $element\n";
}


// Processing: third
// Processing: second
// Processing: first

循环移除并处理数组中的每个元素,直到数组变为空。这是堆栈类操作的常见模式。

最佳实践

来源

PHP array_pop 文档

本教程通过实际示例介绍了 PHP array_pop 函数,展示了其在移除数组元素中的用法。

作者

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

列出 所有 PHP 数组函数