$arr = array('c'=>12,'p'=>1233,'a'=>233455);
已知键值p ,如何获取p后面一个元素的键值?
由于不是数字下标,不能直接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);
}
}
9 回答9.2k 阅读
4 回答13.3k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
2 回答1.7k 阅读
1 回答959 阅读✓ 已解决
1 回答1.4k 阅读
array_search(next(),$arr);