Как я могу найти и распечатать все числа между двумя числами в PHP?

Сейчас я прошу у пользователя два числа. Я пытаюсь напечатать числа между $one и $two, предполагая, что $one меньше, чем $two.


person Zack Shapiro    schedule 17.02.2011    source источник


Ответы (4)


Просто простой цикл for должен помочь:

for($i=$a; $i<=$b; $i++) {
  echo $i;
}
person coreyward    schedule 17.02.2011

range дает массив, содержащий все числа.

Вы можете повторить это:

foreach (range($one, $two) as $number)
    echo "$number <br>\n";

Или просто используйте цикл:

for ($number = $one; $number <= $two; $number++)
    echo "$number <br>\n";
person aaz    schedule 17.02.2011

<?php
foreach (range($one, $two) as $number) {
    echo $number." \n";
}
?>

range($one, $two) создает массив чисел от $one до $two.

<?php
$numbers = range($one, $two);
foreach ($numbers as $number) {
    echo $number." \n";
}
?>

В этом примере массив чисел сначала сохраняется в $numbers, прежде чем они будут напечатаны.

Если $one равно 5, а $two равно 10, эти примеры выведут:

5 
6 
7 
8 
9 
10 
person Community    schedule 17.02.2011
comment
Диапазон — это здорово, но в данном случае я думаю, что создание массива элементов только для того, чтобы распечатать их, — это излишество. - person coreyward; 17.02.2011
comment
@coreyward - ОП просил найти их, а также распечатать. - person aaz; 17.02.2011
comment
@aaz Я только что перечитал вопрос. Он вообще не упомянул слово найти. :/ - person coreyward; 17.02.2011
comment
Также диапазон позволяет использовать один вкладыш: echo implode(',', range($one, $two)) - person rojoca; 17.02.2011
comment
Он сказал «найти» в заголовке вопроса: как я могу find и напечатать все числа между двумя числами в PHP? - person Phoenix; 17.02.2011

Это похоже на домашнее задание...

for ($i=$one+1; $i<$two; $i++)
{
  echo $i . "\n";
}

Это действительно дает вам только числа между ними, а не конечные точки.

person Michael Berkowski    schedule 17.02.2011