Сейчас я прошу у пользователя два числа. Я пытаюсь напечатать числа между $one и $two, предполагая, что $one меньше, чем $two.
Как я могу найти и распечатать все числа между двумя числами в PHP?
Ответы (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
Диапазон — это здорово, но в данном случае я думаю, что создание массива элементов только для того, чтобы распечатать их, — это излишество.
- person coreyward; 17.02.2011
@coreyward - ОП просил найти их, а также распечатать.
- person aaz; 17.02.2011
@aaz Я только что перечитал вопрос. Он вообще не упомянул слово найти. :/
- person coreyward; 17.02.2011
Также диапазон позволяет использовать один вкладыш:
echo implode(',', range($one, $two))
- person rojoca; 17.02.2011
Он сказал «найти» в заголовке вопроса: как я могу
find
и напечатать все числа между двумя числами в PHP?
- person Phoenix; 17.02.2011
Это похоже на домашнее задание...
for ($i=$one+1; $i<$two; $i++)
{
echo $i . "\n";
}
Это действительно дает вам только числа между ними, а не конечные точки.
person
Michael Berkowski
schedule
17.02.2011