我有这个简单的代码来打印*
s。
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner){
echo '*';
}
echo '<br/>';
}
?>
当我运行它时,浏览器会继续加载并且什么都不做。这是什么?
答案 0 :(得分:2)
你永远不会增加$inner
。使用它来获得预期的结果:
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner++){
// ^^ This bit changed.
echo '*';
}
echo '<br/>';
}
?>
因此浏览器将继续加载,直到Apache(或您正在使用的任何服务器)达到时间限制时才会终止该脚本。
答案 1 :(得分:2)
您未在第3行递增$inner
。
for($inner = 1; $inner<=$outer; $inner)
应该是
for($inner = 1; $inner<=$outer; $inner++)
在它的当前状态下,它无限循环。
答案 2 :(得分:1)
你没有递增$inner
并且陷入了看起来的循环中。
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner++){
echo '*';
}
echo '<br/>';
}
?>