这是PHP代码:
$i = "1";
while ($i <= 13) {
echo "i is: $i" . "\n";
$i++;
}
这是Linux Bash shell上命令行的输出:
i is: 1
i is: 2
i is: 3
i is: 4
i is: 5
i is: 6
i is: 7
i is: 8
i is: 9
i is: 10
i is: 11
i is: 12
i is: 13
$
为什么在13之后和提示之前是一个空的空行?我将while循环设置为小于或等于13.它不应该停在那里吗?我如何控制它,使其完成13并且不再进行另一次循环?或者有更好的方法吗?谢谢!
答案 0 :(得分:2)
我无法确认。最后尝试骰子,你会看到这个输出:
i is: 1 i is: 2 i is: 3 i is: 4 i is: 5 i is: 6 i is: 7 i is: 8 i is: 9 i is: 10 i is: 11 i is: 12 i is: 13 $
这是因为您可能在?>
答案 1 :(得分:1)
额外的空行是由您上次"\n"
打印出来的echo "i is: $i" . "\n";
引起的。
它的工作原理如下:
i is: 1\n
i is: 2\n
i is: 3\n
i is: 4\n
i is: 5\n
i is: 6\n
i is: 7\n
i is: 8\n
i is: 9\n
i is: 10\n
i is: 11\n
i is: 12\n
i is: 13\n
和每个
i is: 1\n
显示为
i is: 1
$
\n
将当前光标置于换行位置,准备附加下一个字符。
请尝试echo "\n" . "i is: $i" ;
以便更好地理解。
答案 2 :(得分:1)
\n
达到13的原因然后添加一个新行然后结束。
答案 3 :(得分:1)
对于仅使用PHP的脚本,请省略最后一个?>
与所有其他答案所说的相反,这可能是原因。
答案 4 :(得分:0)
你有最后一个元素\ n,你可以检查是否是最后一个元素 试试这个:
$i = "1";
while ($i <= 13) {
if($i==13)
echo "i is: $i";
else
echo "i is: $i" . "\n";
$i++;
}
答案 5 :(得分:0)
\n
会添加另一行。您可以阻止的一种方法是检查它是否是循环的最后一个成员
$i = "1";
while ($i <= 13) {
echo "i is: $i";
if ($i != 13)
echo "\n";
$i++;
}
答案 6 :(得分:0)
“\ n”
出现的空行答案 7 :(得分:0)
如果您只想打印出数字,可以使用范围:
echo 'i is: '. implode("\ni is: ", range(1,13));