如何知道无序数组的最后一个索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何知道无序数组的最后一个索引相关的知识,希望对你有一定的参考价值。
我有一个像这样的数组:
Array ( [2] => -100 [0] => -7.1 )
这不是有序的,因为如果我对这个数组进行排序,它将变成这个数组到这个数组中([0] => -7.1 [1] => -100),我不是要寻找它,我只是想知道像这样的数组的索引值。...
在这种情况下,如果我使用php函数知道最后一个索引,则显示为0,但它位于最后一个位置,最后一个索引实际上是2,我怎么能得到2而不是0?
我没有使用PHP 7,我正在使用PHP 5
谢谢
答案
具有功能array_key_last()
。它返回数组的最后一个键。这是一个示例(PHP 7+):
// array_key_last() ( array $array ) : mixed
$arr = [
'2' => 3,
'5' => 2,
'0' => 10
];
print_r(array_key_last($arr));
更新
[在PHP 7中没有array_key_last()
函数,因此在PHP 5中我们可以将end()
与key()
结合使用。函数end()
将数组的指针设置为最后一个元素并返回它。函数key()
返回数组当前元素的键。例如:
$arr = [
'2' => 3,
'5' => 2,
'0' => 10
];
end($arr);
print_r(key($arr));
另一答案
由于您未使用PHP7,因此可以使用count
减1
$a = array(5, 3, 4);
print_r($a[count($a) - 1]);
另一答案
由于建议的数组结构中没有规则性,请使用max(array_keys($arr))
。
以上是关于如何知道无序数组的最后一个索引的主要内容,如果未能解决你的问题,请参考以下文章
VB6 中的 Winsock 控件只向数组中的最后一个索引发送文本消息