PHP 4.0 講義 PHP介紹 1 2 3 4 5 6 7 8 9 A B C D 


指令敘述 4.1 :  for ( 起始運算式;測試條件式;遞增運算式 )

指令說明:for 迴圈敘述, 若測試條件式符合, 則執行{ }中的程式區段; 每執行完一次{ }中的程式區段, 則執行一次遞增運算式

用法:

for(起始運算式;測試條件式;遞增運算式)
{
程式碼;
};

例:

 for($i=0 ; $i<10 ; $i=$i+1)
 {
  程式碼;
  ...
 };

完整的例子4-1:重覆印10個 Hello

<?php
for($i=0;$i<10;$i=$i+1)
{
echo "Hello <br>";
}; /*重覆印10個 Hello*/
?>

完整的例子4-2:印 0 1 2 3 … 9

<?php
for($i=0;$i<10;$i=$i+1)
{
echo $i,"<br>";
}; /*印 0 1 2 3 …9 */
?>

千萬小心:無窮迴圈

<?php
for($i=0;$i<10;$i=$i
- 1)
{
echo $i,"<br>";
};
/* 因為 i=0、-1、-2、…… 都小於 10 ,所以無法停止*/
?>

練習4-1 : 請印出 10、9、8、 …、1(每行一個數字)

練習4-2 : 請印出 1、3、5、 …、11 (每行一個數字)

練習4-3 : 請印出 10、8、6、 …、0、-2、-4 (每行一個數字)

完整的例子4-3:請計算出由 1+2+3+……+10 = ?

<?php
$sum = 0;
for($i=1;$i<=10;$i=$i+1)
{
$sum = $sum + $i;
echo " i = ",$i,"  sum = ",$sum,"<br>";
};
echo "累加的結果為",$sum;
?>
i = 1  sum = 1
i = 2  sum = 3
i = 3  sum = 6
i = 4  sum = 10
i = 5  sum = 15
i = 6  sum = 21
i = 7  sum = 28
i = 8  sum = 36
i = 9  sum = 45
i = 10  sum = 55
累加的結果為55

練習4-4 : 請計算出由 1+4+7+……+31 = ?

練習4-5 : 使用者輸入幾隻狗, 程式就印出所輸入數量的狗的圖片

練習4-6 : 請寫出萬用累加程式, 使用者可以由畫面中輸入 累加的起始值, 終止值, 差值 , 然後按下計算鈕, 可以算出所要的答案 解答

練習4-7 : (迴圈版)請寫出複利計算程式, 使用者輸入本金、利率、年數, 程式算出利息


觀念 4.2 : for迴圈中有另一個for迴圈(程式區段中有程式區段 ,{ }中可以有{ })

說明:外圈每做一次, 內圈就要重新做全部的次數敘述, 例如: 外圈3次, 內圈由2次, 則內圈的程式區段會執行 6 次

用法:

for(起始運算式;測試條件式;遞增運算式)
{

 程式碼;
 for(起始運算式;測試條件式;遞增運算式)
 {

  程式碼;
 };
 程式碼;
};

例:

<?php
for($i=1;$i<=3;$i=$i+1)
{
 echo "A: i=",$i,"<br>";
 for($j=4;$j<=5;$j=$j+1)
 {
  echo "B: i=",$i," j=",$j,"<br>";
 };
 echo "C: i=",$i,"<p>";
};
?>
/*這種觀念叫雙重迴圈*/

完整的例子4-4:外圈由1~3, 3次; 內圈由4~5, 2次

<?php
for($i=1;$i<=3;$i=$i+1)
{
echo "A: i=",$i,"<br>";
for($j=4;$j<=5;$j=$j+1)
{
echo "B: i=",$i," j=",$j,"<br>";
};
echo "C: i=",$i,"<p>";
};
?>
A: i=1
B: i=1 j=4
B: i=1 j=5
C: i=1

A: i=2
B: i=2 j=4
B: i=2 j=5
C: i=2

A: i=3
B: i=3 j=4
B: i=3 j=5
C: i=3

完整的例子4-5:印出九九乘法表

<?php
for($i=1;$i<=9;$i=$i+1)
{
for($j=1;$j<=9;$j=$j+1)
{
echo $j,"*",$i,"=",$j*$i," ";
};
echo "<br>";
};
?>
1*1=1 2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9
1*2=2 2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18
1*3=3 2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27
1*4=4 2*4=8 3*4=12 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 7*6=42 8*6=48 9*6=54
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 9*8=72
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

練習4-8 : 請將2顆骰子所能擲出的所有點數狀況,都印出來 (例: 1+1=2, 1+2=3, ......)

練習4-9 : 請將3顆骰子所能擲出的所有點數狀況,都印出來 (例: 1+1+1=3, 1+1+2=4, ......)

練習4-10 : 使用者輸入一行幾隻狗及共幾行, 程式就印出所輸入數量的狗的圖片


觀念 4.3 : 迴圈中可以有判斷敘述

說明:迴圈中每做一次, 判斷敘述就要重新判斷一次

用法:

for(起始運算式;測試條件式;遞增運算式)
{

 程式碼;
 if(條件式)
 {
  程式碼; /* 符合條件式時執行 */
 }

 程式碼;
};

例:

<?php
for($i=1;$i<=500;$i=$i+1)
{
 if($i%11==2 and $i%7==3)
 {
  echo $i,"<br>";
 };
};
?>

完整的例子4-6:試寫一個程式, 求出 被 11 除餘 2 , 而且被 7 除餘 3 的最小的正整數

<?php
for($i=1;$i<=500;$i=$i+1)
{
 if($i%11==2 and $i%7==3)
 {
  echo $i,"<br>";
 };
};
?>
24
101
178
255
332
409
486

練習4-11 : 請算出 23716 的平方根

練習4-12 : 請找出 1 ~ 1000 中 有 3 , 5 , 7 因數的整數

練習4-13 : 使用者輸入一行幾隻狗、共幾行及選擇長毛狗或短毛狗, 程式就印出所輸入數量的狗的圖片


PHP 4.0 講義 PHP介紹 1 2 3 4 5 6 7 8 9 A B C D