$arr = array('c'=>12,'p'=>1233,'a'=>233455);
已知键值p ,如何获取p后面一个元素的键值?
3 回答

炎炎设计
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);
}
}

慕的地10843
TA贡献1785条经验 获得超8个赞
<?php
$keys = array_key($arr);
$keys[array_search('p', $keys) + 1] ?? null;
- 3 回答
- 0 关注
- 856 浏览
添加回答
举报
0/150
提交
取消