单个PHP循环以升序或降序打印编号序列


Single PHP Loop to print the no. sequence in Ascending or Desending

我有两个变量x和y

如果x=5和y=10,我想打印

5
6
7
8
9
10

如果x=10和y=5,那么我想打印

10
9
8
7
6
5

我已经用IF 在2个循环中写下了这个代码

是否有任何逻辑可以使用单个循环打印此信息

这比其他答案简单得多:

foreach (range($x, $y) as $number) {
    echo $number . "<BR>";
}

http://php.net/manual/en/function.range.php

$increment = ($x < $y) ? 1 : -1;
for ($i = $x; $i != $y; $i += $increment) {
    echo $i;
}

这应该适用于您:

<?php
    $x = 10;
    $y = 5;
    for ($i = 0; $i <= abs($x-$y); $i++) {
        if ($x > $y)
            echo $x-$i . "<br />";
        elseif($x < $y)
            echo $x+$i . "<br />";
    }
?>

你正在寻找这个:

<?php
$x = 5;
$y = 10;
while ($x != $y) { // this loop prints the numbers until they are equal
    if ($x < $y) echo $x++ . "'n'n"; // if x < y print and increment x
    else echo $x-- . "'n'n"; // else print and decrement x
}
echo $x . "'n'n"; // now the two nos are equal, print the no itself

一个循环,每个迭代一个条件

<?php
$x = 5;
$y = 10;
$start = $x;
$step = $x < $y ? 1 : -1;
$stop = $y + $step;
for ($i = $start; $i != $stop; $i+=$step) {
    echo $i . "'n";
}