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

試著忘記壹切 提交于 2020-03-17 16:25:54

某厂面试归来,发现自己落伍了!>>>

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


#1楼

只需使用: echo $array[count($array) - 1];


#2楼

不知道这是否会更快,但是用这种方法似乎更容易,并且可以通过不将函数传递给end()来避免错误。

它只需要一个变量...再写一行代码就没什么大不了的,然后在需要时取消设置。

$array = array(
    'first' => 123,
    'second' => 456,
    'last' => 789, 
);

$keys = array_keys($array);
$last = end($keys);

#3楼

$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
list($last_key) = each(array_reverse($arr));
print $last_key;
// key3

#4楼

一个解决方案是结合使用endkey (引号)

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


#5楼

尝试使用array_poparray_keys函数,如下所示:

<?php

$array = array(
    'one' => 1,
    'two' => 2,
    'three' => 3
);

echo array_pop(array_keys($array)); // prints three

?>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!