php - 获取多维数组的最后一个索引

And*_*rew 3 php

当我读到如何获取多维数组的最后一个值时,end(数组)已经出现了倍数倍.我的问题很相似,我有一个像这样的数组:

array = (
[12] => Array (xxx => xxx),
[34] => Array (xxx => xxx),
[56] => Array (yyy => yyy)
);
Run Code Online (Sandbox Code Playgroud)

我想得到索引号.如果我使用end(数组),我将从[56]索引整个数组.我如何获得[56]本身而不是数组?

PS我知道我可以使用循环来获取最后一个索引号,我只是不想循环整个数组来获取最后一个索引号...

Eri*_*ric 10

$keys = array_keys($yourArray);
$lastKey = $keys[count($keys)-1];
Run Code Online (Sandbox Code Playgroud)

所以,拿到钥匙然后选择最后一把钥匙,这适合你吗?

如果你正在进行迭代操作,我不建议在非常大的数组上使用它.我相信array_keys实际上内部循环数组(请在此确认).

或者,正如@Ghost在注释中提到的那样,您可以将数组指向结束end()并使用key()它来获取密钥(这样性能更高):

end($yourArray);
$lastKey = key($yourArray);
Run Code Online (Sandbox Code Playgroud)

  • 是的,只要将指针移到末尾然后使用`key` (2认同)