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

炎炎設(shè)計(jì)
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于不是數(shù)字下標(biāo),不能直接index+1,所以只能采取指針下移的方式。
在下標(biāo)索引不知道的情況下,只能遍歷,復(fù)雜度為O(N)
樓上的方法也是可以的,不過復(fù)雜度還是N,因?yàn)閍rray_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貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
<?php
$keys = array_key($arr);
$keys[array_search('p', $keys) + 1] ?? null;
- 3 回答
- 0 關(guān)注
- 877 瀏覽
添加回答
舉報(bào)
0/150
提交
取消