php цикл с обратным отсчетом

Скажем, я начинаю свой счетчик с 400. Как мне выполнить цикл foreach, который будет работать в обратном направлении до 0?

псевдокод

$i = 400;
foreach(**SOMETHING**)){
//do stuff
$i--;
}

person mrpatg    schedule 18.01.2010    source источник
comment
На самом деле вы ответили на вопрос со сложным кодом, есть и цикл for. Вы не уменьшили его, а увеличили, каждый должен на него посмотреть -with-current-date-selec/1656812#1656812" title="функция php для создания раскрывающихся списков mm dd yyy и hh mm с выбором текущей даты"> stackoverflow.com/questions/1656731/ Этот вопрос находится в моем спам мнений и должен быть помечен   -  person streetparade    schedule 19.01.2010
comment
Вопрос заключался в том, как это сделать с помощью foreach, что достаточно сложно сделать для большинства людей, как показывают большинство ответов.   -  person Veger    schedule 19.01.2010


Ответы (4)


for($i = 400; $i > 0; $i--)
{
  // do stuff
}

другие способы сделать это:

$i = 400;

while($i > 0)
{
  // do stuff
  $i--;
}

or

$a = range(400, 1);

foreach($a as $i)
{
  // do stuff
}
person kjagiello    schedule 18.01.2010
comment
Уменьшение while очень приятно. - person Joel Mellon; 27.05.2016

Если вы действительно хотите перебрать существующий массив в обратном порядке, вы можете использовать array_reverse():

foreach(array_reverse($myArray) as $myArrayElement){
  // do stuff with $myArrayElement
}
person Jpsy    schedule 19.03.2012

как насчет цикла for

for($i = 400; $i > 0; $i--)
{
    //stuff
}
person John Boker    schedule 18.01.2010

foreach используется для перебора последовательностей или итераторов. Если вам нужен условный цикл, используйте for или while.

person Ignacio Vazquez-Abrams    schedule 18.01.2010