<?php
$price = ['apple' => 10, 'orange' => 20, 'banana' => 30];
foreach ($price as $key => $value) {
echo "$key => $value<br>";
}
// 輸出:
// apple => 10
// orange => 20
// banana => 30
?>
<?php
$fruit = ['apple' => 10, 'orange' => 20, 'banana' => 30];
while (list($key, $value) = each($fruit)) {
echo "$key => $value<br>";
}
// 注意:each() 會移動內部指標,二次遍歷需 reset($fruit)
?>
⚠️ **已棄用/移除**。現代代碼**禁止使用**,改用 `foreach`。
| 迴圈 | 語法 | 適用場景 | 控制流關鍵字 |
|---|---|---|---|
| while | while (expr) { ... } | 條件未知次數、先判斷後執行 | break, continue |
| do-while | do { ... } while (expr); | 至少執行一次、後判斷 | break, continue |
| for | for (init; cond; inc) { ... } | 已知次數、計數器控制 | break, continue |
| foreach | foreach ($arr as $k=>$v) { ... } | 陣列/可迭代物件遍歷 | break, continue |
<?php
echo '<table border="1" width="800" align="center">';
echo '<caption><h1>while 產生表格</h1></caption>';
$i = 0;
while ($i < 1000) {
if ($i % 10 == 0) {
$bg = ($i % 20 == 0) ? '#ffffff' : '#cccccc';
echo "<tr onmouseover=\"this.style.background='#ffffcc'\" onmouseout=\"this.style.background='$bg'\" bgcolor=\"$bg\">";
}
echo "<td>$i</td>";
$i++;
if ($i % 10 == 0) echo "</tr>";
}
echo "</table>";
?>
<?php
$i = 0;
do {
echo "$i : do-while 執行<br>";
$i++;
} while ($i < 10);
<?php
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= $i; $j++) {
echo "$j × $i = " . ($j * $i) . " ";
}
echo "<br>";
}
?>
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i === 5) continue; // 跳過 5,繼續 6
if ($i === 8) break; // 終止迴圈,不執行 8,9,10
echo $i . "<br>";
}
// 輸出: 1,2,3,4,6,7
?>
掌握四大迴圈語法特性、適用場景、控制流關鍵字差異,並養成「淺層巢狀、函數式優先、生成器處理大資料」的現代編碼習慣,能寫出高效、可讀、可維護的 PHP 迴圈代碼。