我有两个变量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";
}