ZetCode

PHP end 函数

最后修改于 2025 年 3 月 13 日

PHP 的 end 函数将内部数组指针移动到最后一个元素并返回其值。它对于访问数组末尾元素很有用。

基本定义

end 函数将数组的内部指针前进到最后一个元素。它返回该元素的值,如果为空则返回 false。

语法:end(array|object &$array): mixed。该函数通过引用传递数组参数。它会修改内部指针的位置。

基础 end 示例

此示例演示如何获取简单索引数组的最后一个元素。

basic_end.php
<?php

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

echo "The last fruit is: $lastFruit"; 

此代码将指针移到数组末尾并检索“cherry”。原始数组除了指针位置外保持不变。

关联数组示例

使用 end 访问关联数组的最后一个元素。

associative_end.php
<?php

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

$lastValue = end($user);

echo "Last user property value: $lastValue"; 

该函数返回最后一个元素的值,而无论其键是什么。在关联数组中,元素的顺序取决于插入顺序。

与 current() 结合使用

展示 end 如何影响后续调用的内部指针。

pointer_position.php
<?php

$colors = ['red', 'green', 'blue'];

echo current($colors) . "\n"; 
end($colors);
echo current($colors) . "\n"; 

第一次 current 显示指针在数组开头。调用 end 后,current 显示最后一个元素,演示了指针移动。

空数组处理

end 对空数组返回 false,这需要小心处理。

empty_array.php
<?php

$empty = [];
$result = end($empty);

if ($result === false) {
    echo "Array is empty or last element is false";
} else {
    echo "Last element: $result";
}

由于 false 可以是有效的数组元素,因此请使用严格比较 (===) 来区分空数组和 false 值。

在 end 之后修改数组

演示数组修改如何影响指针位置。

modify_after_end.php
<?php

$numbers = [1, 2, 3];
end($numbers);
array_push($numbers, 4);

echo current($numbers) . "\n"; 
end($numbers);
echo current($numbers) . "\n"; 

添加元素后,指针保持在位置 3,直到再次调用 end。这显示了指针在修改过程中保持不变。

最佳实践

来源

PHP end 文档

本教程通过实际示例介绍了 PHP end 函数,展示了其用于访问数组末尾元素的用法。

作者

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

列出 所有 PHP 数组函数