发布时间:2021-04-29 16:59:03
24、php九九乘法表,更好的运用各种循环语句
首先按照规矩,还是先废话一番,对于刚学PHP的新手来讲,用php写九九乘法表无疑是非常经典的一道练习题。但不要小看这道练习题,它对于逻辑的考验还是相当到位的。
也许有人会觉得,九九乘法表有什么难的,我两分钟就可以写出来。
是的,所谓难者不会,会者不难,对于一些老手来讲,这确实算不得什么。可是对于新手,却是可以锻炼逻辑思维的。
而且,你就真觉得这是一道小儿科的题?
如果不限制条件,可能你两分钟确实可以敲完整段代码,熟练的话还可以用几种方式实现,但是如果是让你写出四个角度的九九乘法表呢?(还可以继续延伸下去)
别的不多说,奉上大乘佛法之PHP九九乘法表(三种循环、4种角度):
一、使用for循环打印九九乘法表:
<?php
for($j=1; $j<=9; $j++) {
for($i=1; $i<=$j; $i++) {
echo "{$i}x{$j}=".($i*$j)." ";
}
echo "<br />";
}
二、使用while循环打印九九乘法表
<?php
$j = 1;
while($j<=9){
$i = 1;
while($i<=$j){
echo "{$i}x{$j}=".($i*$j)." ";
$i++;
}
echo "<br />";
$j++;
}
三、使用do while循环打印九九乘法表
<?php
$j = 1;
do {
$i = 1;
do {
echo "{$i}x{$j}=".($i*$j)." ";
$i++;
} while($i<=$j);
echo "<br />";
$j++;
} while($j<=9);
以上三组运行结果:
运行结果:
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
下面使用for循环以表格形式输出九九乘法表
角度一:(最普通的常规写法)
<?php
echo "<table width='600' border='1'>";
for($j=1;$j<=9;$j++){
echo "<tr>";
for($i=1;$i<=$j;$i++){
echo "<td>{$i}*{$j}=".($i*$j)."</td>";
}
echo "</tr>";
}
echo "</table>";
运行结果:
1*1=1 | ||||||||
1*2=2 | 2*2=4 | |||||||
1*3=3 | 2*3=6 | 3*3=9 | ||||||
1*4=4 | 2*4=8 | 3*4=12 | 4*4=16 | |||||
1*5=5 | 2*5=10 | 3*5=15 | 4*5=20 | 5*5=25 | ||||
1*6=6 | 2*6=12 | 3*6=18 | 4*6=24 | 5*6=30 | 6*6=36 | |||
1*7=7 | 2*7=14 | 3*7=21 | 4*7=28 | 5*7=35 | 6*7=42 | 7*7=49 | ||
1*8=8 | 2*8=16 | 3*8=24 | 4*8=32 | 5*8=40 | 6*8=48 | 7*8=56 | 8*8=64 | |
1*9=9 | 2*9=18 | 3*9=27 | 4*9=36 | 5*9=45 | 6*9=54 | 7*9=63 | 8*9=72 | 9*9=81 |
角度二:(与常规写法成X轴对称)
<?php
echo "<table width='600' border='1'>";
for($j=9;$j>=1;$j--){
echo "<tr>";
for($i=1;$i<=$j;$i++){
echo "<td>{$i}*{$j}=".($i*$j)."</td>";
}
echo "</tr>";
}
echo "</table>";
运行结果:
1*1=1 | ||||||||
2*2=4 | 1*2=2 | |||||||
3*3=9 | 2*3=6 | 1*3=3 | ||||||
4*4=16 | 3*4=12 | 2*4=8 | 1*4=4 | |||||
5*5=25 | 4*5=20 | 3*5=15 | 2*5=10 | 1*5=5 | ||||
6*6=36 | 5*6=30 | 4*6=24 | 3*6=18 | 2*6=12 | 1*6=6 | |||
7*7=49 | 6*7=42 | 5*7=35 | 4*7=28 | 3*7=21 | 2*7=14 | 1*7=7 | ||
8*8=64 | 7*8=56 | 6*8=48 | 5*8=40 | 4*8=32 | 3*8=24 | 2*8=16 | 1*8=8 | |
9*9=81 | 8*9=72 | 7*9=63 | 6*9=54 | 5*9=45 | 4*9=36 | 3*9=27 | 2*9=18 | 1*9=9 |
角度三:(与角度二成Y轴对称)
<?php
echo "<table width='600' border='1'>";
for($j=9;$j>=1;$j--){
echo "<tr>";
for($z=0;$z<9-$j;$z++){
echo "<td> </td>";
}
for($i=1;$i<=$j;$i++){
echo "<td>{$i}*{$j}=".($i*$j)."</td>";
}
echo "</tr>";
}
echo "</table>";
运行结果:
1*9=9 | 2*9=18 | 3*9=27 | 4*9=36 | 5*9=45 | 6*9=54 | 7*9=63 | 8*9=72 | 9*9=81 |
1*8=8 | 2*8=16 | 3*8=24 | 4*8=32 | 5*8=40 | 6*8=48 | 7*8=56 | 8*8=64 | |
1*7=7 | 2*7=14 | 3*7=21 | 4*7=28 | 5*7=35 | 6*7=42 | 7*7=49 | ||
1*6=6 | 2*6=12 | 3*6=18 | 4*6=24 | 5*6=30 | 6*6=36 | |||
1*5=5 | 2*5=10 | 3*5=15 | 4*5=20 | 5*5=25 | ||||
1*4=4 | 2*4=8 | 3*4=12 | 4*4=16 | |||||
1*3=3 | 2*3=6 | 3*3=9 | ||||||
1*2=2 | 2*2=4 | |||||||
1*1=1 |
角度四:(与常规写法成Y轴对称)
<?php
echo "<table width='600' border='1'>";
for($j=1;$j<=9;$j++){
echo "<tr>";
for($z=0;$z<9-$j;$z++){
echo "<td> </td>";
}
for($i=$j;$i>=1;$i--){
echo "<td>{$i}*{$j}=".($i*$j)."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
运行结果:
1*1=1 | ||||||||
2*2=4 | 1*2=2 | |||||||
3*3=9 | 2*3=6 | 1*3=3 | ||||||
4*4=16 | 3*4=12 | 2*4=8 | 1*4=4 | |||||
5*5=25 | 4*5=20 | 3*5=15 | 2*5=10 | 1*5=5 | ||||
6*6=36 | 5*6=30 | 4*6=24 | 3*6=18 | 2*6=12 | 1*6=6 | |||
7*7=49 | 6*7=42 | 5*7=35 | 4*7=28 | 3*7=21 | 2*7=14 | 1*7=7 | ||
8*8=64 | 7*8=56 | 6*8=48 | 5*8=40 | 4*8=32 | 3*8=24 | 2*8=16 | 1*8=8 | |
9*9=81 | 8*9=72 | 7*9=63 | 6*9=54 | 5*9=45 | 4*9=36 | 3*9=27 | 2*9=18 | 1*9=9 |