вот смотри его код PHP: foreach($keys as $key) { echo $key; if($key == ...) prev($key); // не работает } ясен хрен не будет работать prev() $key этож не массив а если попробовать так(просто поправка скрипта ТСа ) PHP: $keys=range(1,100); foreach($keys as $i=>$key) { echo $key."<br>"; if($key == 20){echo prev($keys)."<br>";} }
Поставим жирную точку! Foreach не умеет возможности управлением индексом, он всегда идет от первого к последнему элементу. Но если вам все таки требуется такая возможность, то решается она с помощью цикла While Далее код демонстрирующий как это делается: PHP: <?php $array = array ( 'a', 'b', 'c', 'd', 'e', 'f') ; //Флаг направления, закоментируй одну из двух $flag = 0;reset($array); //вперед //$flag = 1;end ($array); //назад while($value = current($array)){ echo $value."\r\n<br>"; if($flag == 0){ //Следующий элемент next($array); }elseif($flag == 1){ //Предыдущий элемент prev($array); } } ?> То есть внутри цикла вы можете как угодно вертеть направление прохода, то туда то обратно, сколько вам вздумается.