php - 如何获取数组的最后一个元素而不删除它?

标签 php arrays

好的,

我知道 array_pop() ,但这会删除最后一个元素。如何在不删除的情况下获取数组的最后一个元素?

这是一个奖励:

$array = array('a' => 'a', 'b' => 'b', 'c' => 'c');

甚至

$array = array('a', 'b', 'c', 'd');
unset($array[2]);
echo $array[sizeof($array) - 1]; // Output: PHP Notice:  Undefined offset:  2 in - on line 4

最佳答案

试试 end :

$myLastElement = end($yourArray);

请注意,这不仅返回传递数组的最后一个元素,它还修改了数组的内部指针,current 使用该指针, each , prev , 和 next .

对于 PHP >= 7.3.0:

如果您使用 PHP 7.3.0 或更高版本,您可以使用 array_key_last ,它返回数组的最后一个键而不修改其内部指针。所以要得到最后一个值,你可以这样做:

$myLastElement = $yourArray[array_key_last($yourArray)];

关于php - 如何获取数组的最后一个元素而不删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687358/

相关文章:

c# - ASP.NET 相当于此 PHP 代码(数组)?

java - 为什么 getValue() 函数不适用于 HashMap?

java - 我的数组中的位置 [1] 无法注册

php - 数据库设计: How to record bundle product deliveries

php - 在 AngularJS 应用程序中正确包含 WordPress 博客的策略

javascript - 通过循环绘制的多个输入字段在react和redux中插入时不会更新新值

c - Hangman 程序字符串问题

javascript - 比较两个数组以检索值

php - 如何从 php 中的字符串中获取所需的位?

php - 如果在 laravel5 中调用 DB::beginTransaction 而没有使用 DB::commit() 会发生什么?