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

2025-04-15 10:13:16
推荐回答(1个)
回答(1):

方法一:用循环
function getNext(&$array, $curr_key)
{
$next = 0;
reset($array);

do
{
$tmp_key = key($array);
$res = next($array);
} while ( ($tmp_key != $curr_key) && $res );

if( $res )
{
$next = key($array);
}

return $next;
}

function getPrev(&$array, $curr_key)
{
end($array);
$prev = key($array);

do
{
$tmp_key = key($array);
$res = prev($array);
} while ( ($tmp_key != $curr_key) && $res );

if( $res )
{
$prev = key($array);
}

return $prev;
}
方法二:用Iterator,不过要先得到position
// 默认查找键为key元素的后一个元素
function get_element($key, $arr, $who='next')
{
//查找键为$key元素的位置
$offset = array_search($key, array_keys($arr));
if(FALSE == $offset || NULL == $offset) { return ;}

//查找哪个元素,前一个或后一个?
if ('prev' == $who) {
$arr = array_reverse($arr);
} else if ('next' == $who) {

} else {
throw new Exception("错误的参数");
}

对许多方法 都可以在后盾里面找到 而且很详细 很容易理解