for 迴圈與 while 迴圈

湯清麗發表於2019-10-20

迴圈結構三要素

a. 初始值

b. 迴圈條件

c. 改變條件

for迴圈

宣告格式

for(表示式1;表示式2;表示式3){

​ 迴圈體語句

}
表示式1:用來迴圈的變數初始值。(開始值)

表示式2:用來判斷迴圈的條件。(結束值)

表示式3:用來改變迴圈的條件。(定義值)

案例:下拉框從1900-2018

<?php
echo '<select>';
        for($i=1900;$i<=2018;$i++){
            echo '<option>'.$i.'</option>';
        }
    echo '</select>年';

案例:表格製作

<?php
//外層for迴圈控制tr
//內層for迴圈控制td
//使用雙層迴圈輸出十行十列隔行變色表格        
echo '<table border="1" width="800"  align="center">';
    for($a=0; $a<10;$a++){
        if($a % 2 !=0) {
            $bgcolor="red";
        }else{
            $bgcolor="pink";
        }
        echo'<tr bgcolor=" '.$bgcolor.'">';
        for($j=0;$j<10;$j++){
            echo'<td>1</td>';
        }
            echo '</tr>';
        }   
            echo '</table>';
            ?>
<?php
//單層迴圈輸出十行十列隔行變色表格
    echo  '<table border="1" width="800" align="center">';
// echo '<tr>';
            for($i=0;$i<100;$i++){
                if($i % 10 == 0){
                    //echo '<tr>';
                    if($i % 20 == 0){
                        //我是偶數行
                        echo '<tr bgcolor="green">';
                    }else{
                        //我是奇數行
                        echo '<tr bgcolor="gold">';
                    }
                }
                echo '<td>'.$i.'</td>';

                if($i % 10 == 9){
                    echo '</tr>';
                }
            }
        //echo '</tr>';

    echo '</table>';

<!--第一行<tr>0-9</tr>-->
<!--第二行<tr>10-19</tr>-->
<!--第三行<tr>20-29</tr>-->
<!--第四行<tr>30-39</tr>-->
<!--第五行<tr>40-49</tr>-->
<!--相同顏色的行-->
<!--0 20 40 60 80-->
<!--10 30 50 70 90-->

while迴圈

while 格式:

while(判斷條件){

​ 迴圈體語句

}

?php
echo  '<table border="1" width="800" align="center">';
$i= 0;
while($i<10){
    echo '<tr>';
        $j =0;
        while($j<10){
            echo '<td>'.$j.'</td>';
            $j++;
        }
    echo '</tr>';
    $i++;
}
echo '</table>';

do...while 迴圈

do...while 格式:

do{

​ 迴圈體語句

<?php
}while(判斷條件);
$i = 1;
    do{
        echo $i.'<br/>';
        $i++;
    }while($i<10);
    echo $i;
    ?>

while 與 do...while 的區別:

<?php
    // 使用dowhile 輸出1-10的數字
    //
    // while 和 dowhile 區別    
    // 先判斷在執行,先執行在判斷
    // do while  不管你同不同意都先執行一次在說,之後在判斷,如果可以繼續迴圈,如果不可以跳出迴圈。
    // while 先判斷,如果可以執行迴圈,如果不可以跳出迴圈。 

    $i = 1;
    do{
        echo $i.'<br/>';
        $i++;
    }while($i>10);

    echo '<hr/>';

    $j=1;
    while($j>10){
        echo $j.'<br/>';
        $j++;
    }

四個方向的九九乘法表

<?php 
    //正
    echo "<table border='1'>";
    for ($i=1; $i <= 9; $i++){
        echo "<tr>";
        for($j=1;$j<=$i;$j++){
            echo "<td>".$i."*".$j."=".$i*$j."</td>";        
        }
        echo "</tr>";
    }
    echo "</table>";
    echo "<hr />";

    //正 倒過來
    echo "<table border='1'>";
    for ($i=9; $i >= 1; $i--){
        echo "<tr>";
        for($j=1;$i>=$j;$j++){
            echo "<td>".$i."*".$j."=".$i*$j."</td>";        
        }
        echo "</tr>";
    }
    echo "</table>";
    echo "<hr>";

    //靠右側正
    echo "<table border='1'>";
    for ($i=1; $i <= 9; $i++){
        echo "<tr>";
        for ($z=0; $z < 9-$i; $z++) { 
            echo "<td>&nbsp;</td>";
        }   
        for($j=1;$j<=$i;$j++){
            echo "<td>".$i."*".$j."=".$i*$j."</td>";        
        }
        echo "</tr>";
    }
    echo "</table>";
    echo "<hr />";

    //靠右反過來
    echo "<table border='1'>";
    for ($i=9; $i >= 1; $i--){
        echo "<tr>";
        for ($z=0; $z < 9-$i; $z++) { 
            echo "<td>&nbsp;</td>";
        }   
        for($j=1;$j<=$i;$j++){
            echo "<td>".$i."*".$j."=".$i*$j."</td>";        
        }
        echo "</tr>";
    }
    echo "</table>";
    echo "<hr />";
?>
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章