如何获取数组中的最后一个键?

2022-08-30 05:58:54

如何获取数组的最后一个键?


答案 1

解决方案是使用结束的组合(引用):

  • 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() 以使指针返回到数组的开头。


答案 2

虽然看起来最容易,但它不是最快的。更快,更强的替代方案是array_slice()end()

$lastKey = key(array_slice($array, -1, 1, true));

正如测试所说,在具有500000个元素的数组上,它几乎快了7倍!