为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
DIEA 2019-03-12 01:51:25
$arr = array('c'=>12,'p'=>1233,'a'=>233455); 已知键值p ,如何获取p后面一个元素的键值?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

array_search(next(),$arr);

查看完整回答
反对 回复 2019-03-18
?
炎炎设计

TA贡献1808条经验 获得超4个赞

由于不是数字下标,不能直接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);
    }
}
查看完整回答
反对 回复 2019-03-18
?
慕的地10843

TA贡献1785条经验 获得超8个赞

<?php
$keys = array_key($arr);
$keys[array_search('p', $keys) + 1] ?? null;
查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 856 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信