$array = array(
'one' => 'first',
'two' => 'second',
'three' => '3rd',
'four' => '4th'
);
function getPrevNext($haystack,$needle) {
$prev = $next = null;
$aKeys = array_keys($haystack);
$k = array_search($needle,$aKeys);
if ($k !== false) {
if ($k > 0)
$prev = array($aKeys[$k-1] => $haystack[$aKeys[$k-1]]);
if ($k < count($aKeys)-1)
$next = array($aKeys[$k+1] => $haystack[$aKeys[$k+1]]);
}
return array($prev,$next);
}
var_dump(getPrevNext($array,'two'));
var_dump(getPrevNext($array,'one'));
var_dump(getPrevNext($array,'four'));