Fenix_61, ну я примерно придумал, пока не пробовал, как то так
fu ($arr, $key, $type = 'n') {
$keys = array_keys($arr);
while ($k) {
$k = current($keys);
if ($type == 'p' && $kp = prev($keys) == $key) {
return $arr[$k];
} elseif ($type == 'n' && $kn = next($keys) == $key) {
return $arr[$k];
}
$k = next($keys);
}
}
как то так, не проверял
Вот мой вариант
function get_el($array,$key,$nav){
if ($nav=='next') asort($array);
while ($array!=$key) $arr[]=$array;
return end($arr);
}
echo get_el($arr,$x,'next'); // вывод следующего элемента
echo get_el($arr,$x,'любое значение'); // вывод предыдущего элемента
Fenix_61, буду пробовать, смущает запись
$array!=$key
ты пробовал запустить?
мой велобайк скорее всего без напильника не поедет
Ой стойте я напутал !
function get_el($array,$key,$nav){
if ($nav!='next') asort($array);
while ($array!=$key) $arr[]=$array;
echo end($arr);
}
echo get_el($arr,$x,'next'); // вывод следующего элемента
echo get_el($arr,$x,'любое значение'); // вывод предыдущего элемента
вот теперь правильно
Koenig (13.11.2012 / 20:51)
Fenix_61, буду пробовать, смущает запись
$array!=$key
ты пробовал запустить?
мой велобайк скорее всего без напильника не поедет
Нет не пробывал щас попробую с фореач
Вот мой вариант
function get_el($array,$key,$nav){
if ($nav!='next') asort($array);
while (array_keys($array)!=$key) $arr[array_keys($array)]=$array[array_keys($array)];
echo end($arr);
}
echo get_el($arr,$x,'next'); // вывод следующего элемента
echo get_el($arr,$x,'любое значение'); // вывод предыдущ
Вот мой вариант
function get_el($array,$key,$nav){
if ($nav!='next') asort($array);
$values=array_values($array);
$keys=array_keys($array);
while (($keys!=$key) && ($values)) $arr[$keys]=$values;
echo end($arr);
}
echo get_el($arr,$x,'next'); // вывод следующего элемента
echo get_el($arr,$x,'любое значение'); // вывод предыдущ
Вроде окончательный вариант должно все работать !
function get_el($array,$key,$nav){
if ($nav!='next') asort($array);
$values=array_values($array);
$keys=array_keys($array);
while (($keys!=$key) && ($values)) $arr[$keys]=$values;
echo end($arr);
}
echo get_el($arr,$x,'next'); // вывод следующего элемента
echo get_el($arr,$x,'любое значение'); // вывод предыдущего элемента
Fenix_61, работает?
надо пробовать, все равно не понимаю как ты делаешь такое сравнение
$keys!=$key
массив и строка
то есть они всегда будут true , так как != всегда
Ну я могу предложить только такой вариант ты попробуй скажешь тогда !