array_pop 是 PHP 中的一个内置函数,用于从数组末尾移除最后一个元素,并返回该元素的值。该操作会直接修改原始数组。
基础语法
语法
mixed array_pop(array &$array)
参数
$array
(必需):需要操作的数组,传入的是引用。
返回值
返回被移除的元素值。如果数组为空,返回 NULL
。
使用场景
- 删除数组的最后一个元素。
- 获取数组最后一个元素的值,同时修改原数组。
- 在栈(LIFO,后进先出)操作中作为“出栈”的实现。
示例代码
示例 1:基本用法
$array = [1, 2, 3, 4];
$lastElement = array_pop($array);
echo $lastElement; // 输出:4
print_r($array); // 输出:[1, 2, 3]
示例 2:空数组
$array = [];
$lastElement = array_pop($array);
var_dump($lastElement); // 输出:NULL
print_r($array); // 输出:[]
示例 3:与栈操作结合
$stack = [];
array_push($stack, “A”);
array_push($stack, “B”);
array_push($stack, “C”);
echo array_pop($stack); // 输出:C
echo array_pop($stack); // 输出:B
echo array_pop($stack); // 输出:A
注意事项
按引用传递:
array_pop
会直接修改原数组。- 如果数组为传入的引用数组,操作后会反映到原数组上。
索引键的影响:
- 移除元素后,数组的数值索引会被重新调整。
- 关联数组的键名不会被重新排序。
性能:
- 操作大数组时,
array_pop
的性能优于手动删除(如unset
),因为它会直接处理数组末尾的元素。
$array = [‘a’ => 1, ‘b’ => 2, ‘c’ => 3];
array_pop($array);
print_r($array); // 输出:[‘a’ => 1, ‘b’ => 2]