在之前的文章《PHP如何利用函數(shù)來反轉(zhuǎn)數(shù)字,打印給定范圍內(nèi)的所有回文數(shù)》中,我們介紹了判斷回文數(shù),并利用for循環(huán)輸出給定范圍內(nèi)所有回文數(shù)的方法。這次我們來了解一下九九乘法口訣表,看看利用循環(huán)語句如何輸出口訣表。
九九乘法口訣表我們從小就接觸,十分熟悉,因而打印九九乘法口訣表是剛?cè)腴T編程的同學(xué)一定會遇到的一個編程題。那么使用PHP程序如何實(shí)現(xiàn)它呢?下面來介紹一下。
首先我們來觀察一下九九乘法口訣表
可以得出圖表的規(guī)律:
-
總共有9行9列,第幾行就有幾個表達(dá)式。
-
第
i
行,表達(dá)式就從i*1
開始,一直到i*i
結(jié)束,共有i
個表達(dá)式(這個效果我們可以通過一次循環(huán)實(shí)現(xiàn))。
因此,需要使用雙重循環(huán)來控制輸出,外層循環(huán)控制行數(shù) i (i最小為1,最大為9),內(nèi)層循環(huán)控制列 j (j最小為1,最大等于 i)。所以使用for循環(huán)可以這樣寫:
for($i = 1; $i <= 9; $i++){ //外層循環(huán)控制行 for($j = 1; $j <= $i; $j++) //內(nèi)層循環(huán)控制列 { } }
現(xiàn)在就是寫程序輸出部分
echo "$j * $i = ".$i*$j." ";
我們來看看輸出結(jié)果:
乘法表達(dá)式都湊到一起來,一點(diǎn)都不美觀,和文章開頭的九九乘法口訣表不一樣,這是怎么回事?
那是因?yàn)椋覀兩倭艘粋€換行的步驟。
我們需要在上面程序的基礎(chǔ)上,在外層循環(huán)中添加一個換行代碼,來控制每行的輸出幾個表達(dá)式。
<?php for($i = 1; $i <= 9; $i++){ //外層循環(huán)控制行 for($j = 1; $j <= $i; $j++) //內(nèi)層循環(huán)控制列 { echo "$j * $i = ".$i*$j." "; } echo "<br>"; } ?>
來看看輸出結(jié)果:
OK,是不是很簡單!
上面是使用for循環(huán)實(shí)現(xiàn)的,那么使用while循環(huán)又要怎么實(shí)現(xiàn)呢?下面是我的實(shí)現(xiàn)方法:
<?php $i=1; while($i<=9){ $j=1; while($j<=$i){ echo "$j x $i = ".$i*$j." "; $j++; } echo"<br/>"; $i++; } ?>
其實(shí)和for循環(huán)差不多,也是需要將兩個while循環(huán)嵌套,外層while循環(huán)控制行數(shù),內(nèi)層while循環(huán)控制列。【對于while循環(huán)不了解的,可以閱讀《PHP循環(huán)學(xué)習(xí)一:while循環(huán)語句的使用(示例詳解)》】
來看看輸出結(jié)果:
好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個哦?!?→php視頻教程
推薦:《PHP面試題大匯總(收藏)》