如何获得数组的最后一个键?
当前回答
尝试保持与旧版本PHP的兼容性:
$array_keys = array_keys( $array );
$last_item_key = array_pop( $array_keys );
其他回答
尽管end()似乎是最简单的,但它并不是最快的。更快、更强大的替代方法是array_slice():
$lastKey = key(array_slice($array, -1, 1, true));
正如测试所示,在一个包含500000个元素的数组上,它几乎快了7倍!
只需使用:echo $array[count($array) - 1];
$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 );
我还想为这个问题提供另一种解决方案。
假设你所有的钥匙都是数字,没有缝隙, 我的首选方法是计算数组,然后从该值减去1(以解释数组键从0开始的事实。
$array = array(0=>'dog', 1=>'cat');
$lastKey = count($array)-1;
$lastKeyValue = $array[$lastKey];
var_dump($lastKey);
print_r($lastKeyValue);
这将给你:
int (1) 猫