php数组,有什么办法获取下一个元素的键值?

发布于 2022-09-05 23:08:55 字数 109 浏览 18 评论 0

$arr = array('c'=>12,'p'=>1233,'a'=>233455);

已知键值p ,如何获取p后面一个元素的键值?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黑寡妇 2022-09-12 23:08:55

array_search(next(),$arr);

晨光如昨 2022-09-12 23:08:55

由于不是数字下标,不能直接index+1,所以只能采取指针下移的方式。
在下标索引不知道的情况下,只能遍历,复杂度为O(N)
楼上的方法也是可以的,不过复杂度还是N,因为array_search还是遍历了所有的key

<?php

$arr = array('c'=>12,'p'=>1233,'a'=>233455, 'd'=> 'sdfsdfsdf');

while(current($arr)) {

    if(key($arr) === 'p') { 
        next($arr);
        echo current($arr);
    } else {
        next($arr);
    }
}
嘦怹 2022-09-12 23:08:55
<?php
$keys = array_key($arr);
$keys[array_search('p', $keys) + 1] ?? null;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文