您的位置:图文专栏 > 技术教程 > 学习笔记 >

24、php九九乘法表,更好的运用各种循环语句

发布时间: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

下面使用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
上一篇: 23、for循环和while的功能比较

下一篇: 25、while循环语句,(条件循环)