如何获取数组中的最后一个键?
如何获取数组的最后一个键?
end()
将 array 的内部指针推进到最后一个元素,并返回其值。key()
返回当前数组位置的索引元素。因此,像这样的一部分代码应该可以做到这一点:
$array = array(
'first' => 123,
'second' => 456,
'last' => 789,
);
end($array); // move the internal pointer to the end of the array
$key = key($array); // fetches the key of the element pointed to by the internal pointer
var_dump($key);
将输出 :
string 'last' (length=4)
即我的数组中最后一个元素的键。
完成此操作后,数组的内部指针将位于数组的末尾。如注释中所指出的,您可能希望在数组上运行 reset()
以使指针返回到数组的开头。
虽然看起来最容易,但它不是最快的。更快,更强的替代方案是array_slice()
:end()
$lastKey = key(array_slice($array, -1, 1, true));
正如测试所说,在具有500000个元素的数组上,它几乎快了7倍!