PHP 程式設計/While 迴圈
<?php
$c = 0;
while ($c < 5) {
echo $c++;
}
?>
<?php
$myName="Fred";
while ($myName!="Rumpel") {
if ($myName=="Fred") {
$myName="Leslie";
} else {
$myName="Rumpel";
}
}
echo "How did you know?\n";
?>
這是一個列印數字的示例,從0到4. $c 初始化為 0。當遇到 while 迴圈時,表示式$c < 5會被評估為真假。如果為真,它會執行大括號中的內容。echo 語句將列印0,然後在$c上加 1。程式然後會回到迴圈的頂部並再次檢查表示式。因為它再次為真,它會返回 1 並將 $c 加 1。它會一直這樣做,直到$c等於5,此時語句$c < 5為假。之後,它就結束了。
程式的第一行設定$myName為 "Fred"。之後,while 語句檢查是否$myName等於"Rumpelstiltskin".!=表示“不等於”,所以表示式為真,while 迴圈執行其程式碼塊。在程式碼塊中,一個if語句(參見前一章)檢查,如果它等於 Fred。因為它確實如此,然後它重新分配$myName等於"Leslie". 然後它跳過else,因為if為真並被評估。然後它到達迴圈的末尾,所以它返回並檢查是否$myName不等於"Rumpelstiltskin". 因為它仍然不等於,所以它是真的,然後它再次進入迴圈。這一次,if 語句為假,所以 else 被執行。這將$myName設定為 "Rumpelstiltskin"。我們再次到達迴圈的末尾,所以它返回並檢查。由於$myName等於"Rumpelstiltskin",while 條件為假,它跳過迴圈並繼續執行,在那裡它回顯“你怎麼知道的?”
迴圈是另一種重要的基本程式設計技術。迴圈允許程式重複執行相同的程式碼行,這對程式中的許多事情都至關重要。在 PHP 中,你經常使用它們來在 HTML 中佈局表格和其他類似功能。
迴圈可能非常方便,但也非常危險!無限迴圈是無法退出的迴圈,導致它們執行,直到程式停止。這是因為無論迴圈期間發生什麼,條件永遠不會變為假,因此永遠不會退出。例如,如果示例 1 從$c…
$c=2;
while ($c < 5) {
$c--;
echo $c;
}
$c 中減去 1,無論如何 $c 總是小於 5,因此迴圈會永遠持續下去。這對我們這些沒有無限時間(或計算機記憶體)的人來說會造成問題!所以在這種情況下,讓我們學習一個方便的 bugger。
如果你在迴圈中新增 'break;',迴圈將結束,無論條件是否為假。
讓我們將這兩個示例結合起來。在繼續之前,花幾分鐘時間寫下這個程式執行的步驟以及它的輸出是什麼。
<?php
$c = 1;
$myName="Fred";
while ($myName != "Rumplestilskin") {
if ($myName=="Fred") {
$myName="Leslie";
} else {
$myName="Marc";
}
$c++;
if ($c==3) {
break;
}
};
echo "You lose and I get your baby!\n";
?>