巢狀迴圈列印幾何圖形是經典程式訓練,能深度鍛鍊迴圈控制、空間想像與邏輯分解能力。本文提供三種金字塔變體的完整實現。
<?php
for ($i = 0; $i <= 5; $i++) {
for ($t = 0; $t < $i; $t++) {
echo '*';
}
echo '<br />';
}
?>

規律分析(以 5 層為例):
| 層數 i | 空格數 | 星號數 | 公式 |
|---|---|---|---|
| 1 | 4 | 1 | 空格=5-i, 星號=(i-1)×2+1 |
| 2 | 3 | 3 | |
| 3 | 2 | 5 | |
| 4 | 1 | 7 | |
| 5 | 0 | 9 |
<?php
for ($i = 1; $i <= 5; $i++) {
// 列印前置空格
for ($k = 1; $k <= 5 - $i; $k++) {
echo " "; // HTML 空格
}
// 列印星號
for ($j = 1; $j <= ($i - 1) * 2 + 1; $j++) {
echo '*';
}
echo '<br />';
}
?>

邏輯:首層、末層全星號;中間層僅首尾列印星號,中間填空格。
<?php
$n = 10;
for ($i = 1; $i <= $n; $i++) {
// 前置空格
for ($k = 1; $k <= $n - $i; $k++) {
echo " ";
}
// 星號/空格判斷
for ($j = 1; $j <= ($i - 1) * 2 + 1; $j++) {
if ($i == 1 || $i == $n) {
echo '*'; // 首尾層全星號
} else {
if ($j == 1 || $j == ($i - 1) * 2 + 1) {
echo '*'; // 首尾位置星號
} else {
echo " "; // 中間空格
}
}
}
echo '<br />';
}
?>

$i = 1 到 $n$n - $i2×$i - 1 保留空格圖形列印看似簡單,實則考驗邏輯分解與邊界控制能力,是新手進階的必經之路。