Ok,

我知道所有关于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

当前回答

$lastValue = end(array_values($array))

不修改$array指针。这就避免了

reset($array)

这在某些情况下可能并不理想。

其他回答

$lastValue = end(array_values($array))

不修改$array指针。这就避免了

reset($array)

这在某些情况下可能并不理想。

现在,我更喜欢一直有这个帮手,就像在php.net/end上建议的那样。

<?php
function endc($array) {
    return end($array);
}

$items = array('one','two','three');
$lastItem = endc($items); // three
$current = current($items); // one
?>

这将始终保持指针的原样,我们将永远不必担心括号,严格的标准或其他。

Array_values (array_reverse($array))[0]适用于所有这些情况。

对我来说:

$last = $array[count($array) - 1];

associatives:

$last =array_values($array)[count($array - 1)]

End()将提供数组的最后一个元素

$array = array('a' => 'a', 'b' => 'b', 'c' => 'c');
echo end($array); //output: c

$array1 = array('a', 'b', 'c', 'd');
echo end($array1); //output: d