PHP - While Loop: A Beginner's Guide
您好,有志於成為程序員的各位!今天,我們將深入PHP編程中最基礎的概念之一:While Loop。別擔心如果你之前從未寫過一行代碼——我會一步步引導你,就像這些年來我在課堂上對數百名學生做的一樣。
What is a While Loop?
在我們投入範例之前,讓我們先了解while loop是什麼。想像你在刷牙。你刷牙刷一次就停了嗎?不會,你會繼續刷直到你的牙齒變乾淨。這正是編程中while loop的工作方式!
While loop會在指定的條件為真的情況下反覆執行一段代碼。這就像告訴計算機:"嘿,當這個條件為真的時候,請繼續執行這個任務。"
現在,讓我們看一些範例來讓這個概念更明確。
Example 1: Counting to 5
<?php
$count = 1;
while ($count <= 5) {
echo $count . " ";
$count++;
}
?>
如果你運行這段代碼,你會看到:1 2 3 4 5
讓我們分解這段代碼:
- 我們從
$count = 1
開始。 - Loop會檢查
$count <= 5
(count小於或等於5嗎?)。 - 如果為真,它會打印出當前的
$count
值。 - 然後它會將
$count
增加1($count++
)。 - 這個過程會重複,直到
$count
變成6,此時條件為假,loop結束。
Example 2: Decreasing Counter
讓我們顛倒之前的範例:
<?php
$count = 5;
while ($count > 0) {
echo $count . " ";
$count--;
}
echo "Blast off!";
?>
輸出:5 4 3 2 1 Blast off!
這次,我們在計數下來!就像火箭發射倒數計時。我們從5開始,並在計數大於0的情況下繼續。每次loop我們都會將計數減少1($count--
)。
Example 3: User Input
讓我們來讓事情變得互動:
<?php
$correct_password = "secret123";
$attempt = "";
while ($attempt != $correct_password) {
$attempt = readline("Enter the password: ");
if ($attempt != $correct_password) {
echo "Incorrect, try again!\n";
}
}
echo "Access granted!";
?>
這個腚本模擬了一個密碼輸入系統。它會在不斷要求輸入正確密碼的情況下繼續詢問。這就像被卡在房子外面直到你記起正確的鑰匙!
Iterating an Array with "while"
數組在PHP中就像列表。讓我們使用while loop來遍歷一個數組:
<?php
$fruits = array("Apple", "Banana", "Cherry", "Date", "Elderberry");
$i = 0;
while ($i < count($fruits)) {
echo $fruits[$i] . "\n";
$i++;
}
?>
這會在每一行打印出每種水果。count($fruits)
給我們數組中的項目數量,所以我們在計數器小於這個數字的情況下繼續loop。
Nested "while" Loops
有時候,我們需要在loop中嵌套loop。這就像輪子中有輪子:
<?php
$i = 1;
while ($i <= 3) {
$j = 1;
while ($j <= 3) {
echo $i . "-" . $j . " ";
$j++;
}
echo "\n";
$i++;
}
?>
輸出:
1-1 1-2 1-3
2-1 2-2 2-3
3-1 3-2 3-3
這會創建一個3x3的網格。外部loop控制行,內部loop控制列。
Traversing the Characters in a String
在PHP中,字符串就是字符序列。我們可以使用while loop來遍歷每個字符:
<?php
$word = "Hello";
$i = 0;
while ($i < strlen($word)) {
echo $word[$i] . "\n";
$i++;
}
?>
這會在每一行打印出"Hello"的每個字母。strlen($word)
給我們字符串的長度。
Using the "endwhile" Statement
PHP提供了使用endwhile
語句的while loop的替代語法:
<?php
$count = 1;
while ($count <= 5):
echo $count . " ";
$count++;
endwhile;
?>
這與我們的第一個範例做同樣的事情,但有些人發現這種語法在長loop中更清晰。
Common While Loop Methods
這裡是一個常用while loop方法的表格:
方法 | 描述 | 範例 |
---|---|---|
break |
立即退出loop | if ($count == 3) break; |
continue |
跳過當前迭代的剩餘部分 | if ($count == 3) continue; |
$variable++ |
變量加1 | $count++; |
$variable-- |
變量減1 | $count--; |
記住,while loop很強大,但請謹慎使用!如果你的條件從不變為false,你會創建一個無窮loop,你的程序將永遠不會停止運行。這就像告訴某人繼續走直到他們達到地球的盡頭——他們會永遠走下去!
總結來說,while loop是PHP編程中的一個基本工具。它們讓我們能夠重複動作,處理數據列表,並在我們的代碼中創建複雜的行為。通過這些範例練習,嘗試你自己的想法,不久你將會像專業人士一樣使用loop!
Credits: Image by storyset