PHP循环学习七:打印9*9速算口诀表的两种方法
在之前的文章《PHP如何利用函数来反转数字,打印给定范围内的所有回文数》中,我们介绍了判断回文数,并利用for循环输出给定范围内所有回文数的方法。这次我们来了解一下九九乘法口诀表,看看利用循环语句如何输出口诀表。
九九乘法口诀表我们从小就接触,十分熟悉,因而打印九九乘法口诀表是刚入门编程的同学一定会遇到的一个编程题。那么使用PHP程序如何实现它呢?下面来介绍一下。
首先我们来观察一下九九乘法口诀表
可以得出图表的规律:
-
总共有9行9列,第几行就有几个表达式。
-
第
i
行,表达式就从i*1
开始,一直到i*i
结束,共有i
个表达式(这个效果我们可以通过一次循环实现)。
因此,需要使用双重循环来控制输出,外层循环控制行数 i (i最小为1,最大为9),内层循环控制列 j (j最小为1,最大等于 i)。所以使用for循环可以这样写:
for($i = 1; $i <= 9; $i++){ //外层循环控制行 for($j = 1; $j <= $i; $j++) //内层循环控制列 { } }
现在就是写程序输出部分
echo "$j * $i = ".$i*$j." ";
我们来看看输出结果:
乘法表达式都凑到一起来,一点都不美观,和文章开头的九九乘法口诀表不一样,这是怎么回事?
那是因为,我们少了一个换行的步骤。
我们需要在上面程序的基础上,在外层循环中添加一个换行代码,来控制每行的输出几个表达式。
<?php for($i = 1; $i <= 9; $i++){ //外层循环控制行 for($j = 1; $j <= $i; $j++) //内层循环控制列 { echo "$j * $i = ".$i*$j." "; } echo "<br>"; } ?>
来看看输出结果:
OK,是不是很简单!
上面是使用for循环实现的,那么使用while循环又要怎么实现呢?下面是我的实现方法:
<?php $i=1; while($i<=9){ $j=1; while($j<=$i){ echo "$j x $i = ".$i*$j." "; $j++; } echo"<br/>"; $i++; } ?>
其实和for循环差不多,也是需要将两个while循环嵌套,外层while循环控制行数,内层while循环控制列。【对于while循环不了解的,可以阅读《PHP循环学习一:while循环语句的使用(示例详解)》】
来看看输出结果:
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
推荐:《PHP面试题大汇总(收藏)》