PHP get previous array element knowing current array key

前端 未结 9 830
心在旅途
心在旅途 2020-12-01 06:41

I have an array with specific keys:

array(
    420 => array(...), 
    430 => array(...), 
    555 => array(...)
)

In my applicati

9条回答
  •  醉话见心
    2020-12-01 07:11

    Expanding further on the solution of Luca Borrione and cenk, so that you can wrap around the end of the array in either direction, you may use:

    function getAdjascentKey($key, $hash = array(), $increment) {
        $keys = array_keys($hash);    
        $found_index = array_search($key, $keys);
        if ($found_index === min(array_keys($keys)) && $increment === -1) {
            $found_index = max(array_keys($keys))+1;
        }
        if ($found_index === max(array_keys($keys)) && $increment === +1) {
            $found_index = min(array_keys($keys))-1;
        }       
        return $keys[$found_index+$increment];
    }
    

提交回复
热议问题