經典面試題,考察循環嵌套與字符串拼接邏輯。本文提供標準版、while 版、表格版三種實現,並附帶輸出截圖對照。
<?php
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= $i; $j++) {
echo "$i×$j=" . ($i * $j) . ' ';
}
echo "<br />";
}
?>
<?php
echo "乘法表<br>";
for ($j = 1; $j <= 9; $j++) {
$z = 1;
while ($z <= $j) {
echo "$z×$j=" . ($z * $j) . " ";
$z++;
}
echo "<br>";
}
?>
<?php
echo "<table border=1 cellpadding=5>";
for ($i = 1; $i <= 9; $i++) {
echo "<tr>";
for ($j = 1; $j <= $i; $j++) {
echo "<td>$i×$j=" . ($i * $j) . "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
1×1=1 2×1=2 2×2=4 3×1=3 3×2=6 3×3=9 4×1=4 4×2=8 4×3=12 4×4=16 5×1=5 5×2=10 5×3=15 5×4=20 5×5=25 6×1=6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36 7×1=7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49 8×1=8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64 9×1=9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81
$i = 1..9 控制行數(第 i 行輸出 i 個算式)。$j = 1..$i 控制每行算式個數。$i * $j,字符串拼接時注意運算符優先級(乘法優於拼接),建議用括號 ($i * $j)。<?php
function multiplicationTable($max = 9, $format = 'html') {
$rows = [];
for ($i = 1; $i <= $max; $i++) {
$cols = [];
for ($j = 1; $j <= $i; $j++) {
$cols[] = "$i×$j=" . ($i * $j);
}
$rows[] = $cols;
}
if ($format === 'html') {
$html = "<table border=1>";
foreach ($rows as $row) {
$html .= "<tr><td>" . implode("</td><td>", $row) . "</td></tr>";
}
return $html . "</table>";
}
return $rows;
}
echo multiplicationTable(9);
?>