如何获得数组的最后一个键?
当前回答
$array = array(
'something' => array(1,2,3),
'somethingelse' => array(1,2,3,4)
);
$last_value = end($array);
$last_key = key($array); // 'somethingelse'
这是因为PHP在内部移动$array的数组指针
其他回答
尝试保持与旧版本PHP的兼容性:
$array_keys = array_keys( $array );
$last_item_key = array_pop( $array_keys );
自PHP 7.3(2018)以来,(终于)有了这个函数: http://php.net/manual/en/function.array-key-last.php
$array = ['apple'=>10,'grape'=>15,'orange'=>20];
echo array_key_last ( $array )
将输出
orange
我更喜欢
end(array_keys($myarr))
很奇怪,但是这个话题为什么没有这个答案:
$lastKey = array_keys($array)[count($array)-1];
尽管end()似乎是最简单的,但它并不是最快的。更快、更强大的替代方法是array_slice():
$lastKey = key(array_slice($array, -1, 1, true));
正如测试所示,在一个包含500000个元素的数组上,它几乎快了7倍!