Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.03.2010, 02:18
|
|
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме: 1093500
Репутация:
43
|
|
Сообщение от Pashkela
молодец, а говорил не знаешь
а теперь представь, что не на предыдущую, а на две-двадцать назад, и ключи у массива не идут так - 1,2,3,4,5,6, а, например, так - 1,11,34,45,67,89,90
тогда while 
|
|
|

03.03.2010, 02:19
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
а вот и нет, вопрос был про foreach )) Ну просто представь себе, нет while
|
|
|

03.03.2010, 02:28
|
|
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме: 1093500
Репутация:
43
|
|
вот смотри его код
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>";}
}
|
|
|

03.03.2010, 02:31
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
вот теперь да)
|
|
|

03.03.2010, 02:34
|
|
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме: 1093500
Репутация:
43
|
|
тс пропал наверно уже неактуал тема ))
|
|
|

04.03.2010, 01:08
|
|
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме: 1607210
Репутация:
1617
|
|
Поставим жирную точку!
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);
}
}
?>
То есть внутри цикла вы можете как угодно вертеть направление прохода, то туда то обратно, сколько вам вздумается.
__________________
Бойтесь своих желаний. Они могут исполниться....
...О-о-о-о, ушами не услышать, глазами не понять!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|