单个PHP循环打印否。升序或降序序列

时间:2014-10-25 17:32:27

标签: php loops for-loop

我有两个变量 x和y

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

5
6
7
8
9
10

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

10
9
8
7
6
5

我已经使用IF

在2循环中编写了这段代码

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

5 个答案:

答案 0 :(得分:4)

这比其他答案简单得多:

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

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

答案 1 :(得分:2)

$increment = ($x < $y) ? 1 : -1;

for ($i = $x; $i != $y; $i += $increment) {
    echo $i;
}

答案 2 :(得分:0)

这应该适合你:

<?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 />";
    }

?>

答案 3 :(得分:0)

你正在寻找这个:

<?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

答案 4 :(得分:0)

一个周期,每次迭代一个条件

<?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";
}