我有這個簡單的代碼來打印*
s的模式。奇怪的PHP行爲
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner){
echo '*';
}
echo '<br/>';
}
?>
當我運行這個時,瀏覽器不斷加載並且什麼也不做。 WTH是這個嗎?
我有這個簡單的代碼來打印*
s的模式。奇怪的PHP行爲
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner){
echo '*';
}
echo '<br/>';
}
?>
當我運行這個時,瀏覽器不斷加載並且什麼也不做。 WTH是這個嗎?
您永遠不會增加$inner
。使用此得到預期的結果:
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner++){
// ^^ This bit changed.
echo '*';
}
echo '<br/>';
}
?>
因此,瀏覽器將繼續加載,直到阿帕奇(或任何服務器您正在使用)達到時間限制時,它會殺死該腳本。
你不就行了3
for($inner = 1; $inner<=$outer; $inner)
遞增$inner
應該
for($inner = 1; $inner<=$outer; $inner++)
在它的無限它循環的當前狀態。
你並沒有增加$inner
,並陷入看起來像循環。
<?php
for($outer = 1; $outer <= 5; $outer++){
for($inner = 1; $inner<=$outer; $inner++){
echo '*';
}
echo '<br/>';
}
?>
也不奇怪可言,它做的正是你告訴它該怎麼做:'$內++'不'$ inner'在你的'for'循環 –
你會很容易發現它的第三個參數就你調試代碼。請記住,調試器是你的朋友:) – mingos