while循環

在循環的開章,我們講到了循環的邏輯和語法,透過以上的訓練。你能輕易的掌握循環的知識點。

while是一個布林型循環,while(布林判斷)的值為true就執行大括號括起來的程式碼。如果為假就停出去,執行後續程式碼。

現在,我們增加一點難道,來做隔行變色。隔行變色,是我們在網頁中常用到的表現。

要求重點掌握。讓我們來看看效果:
2015-08-08/55c5b00fcc714

那我們現在要寫一個0-99的隔行變色的表格該怎麼寫呢? 【要求默寫】

  1. 定義初始值,輸出表格標籤和表格中的列標籤
<?php
//定义循环的初始值
$i=0;
echo '<table width="800" border="1">';


while($i<100){
        //输出列0-99的列了
    echo '<td>'.$i.'</td>';
        //一定要加哟,不然死循环了
        $i++;
}

echo '</table>';
?>
  1. 加上行產生的邏輯
<?php
$i=0;
echo '<table width="800" border="1">';

while($i<100){
    //0 - 9 为一行
        //10 -19 为一行
        //因此,每一行都能够被10求默,如为为10的时候,应该显示行开始的标签
    if($i%10 == 0){
                //为了隔行变色,每20,40,60每行的颜色不同的,因此我们又可以再进行一次取余运算
        if($i%20==0){
            echo '<tr>';
        }else{
            echo '<tr bgcolor="pink">';
        }
    }

    echo '<td>'.$i.'</td>';

    $i++;
        //同理,每一行结束是不是应该有一个</tr>结束标签呢?
    if($i%10==0){
        echo '</tr>';
    }
}
echo '</table>';
?>

以上程式碼需要多練習,不斷的實驗才能想像出來。上面的部份,需要默寫來鍛鍊邏輯。

可不可以循環裡面再嵌套一次循環(雙層循環),來實現隔行變色的表格效果呢? 【要求默寫】

基本實作邏輯如下

  1. 先輸出表格標籤
  2. 透過第一層迴圈再輸出行標籤
  3. #在第一層循環裡面再插入一層循環輸出標籤
<?php
echo '<table width="800" border="1">';
$i=0;


while($i<10){
    echo '<tr>';

    $j=0;
    while($j<10){

        echo '<td>'.$j.'</td>';
        $j++;

    }
    echo '</tr>';

    $i++;

}
echo '</table>';
?>

上面的程式碼,你自己加上隔行變色的判斷和正常的0-99的數值顯示喲?


你可以學完循環後,再學習一些基本的演算法。
這樣幫助你面試的成功率更高。

註:不要寫死迴圈(沒有退出條件的迴圈)

whie(1){
    echo 1111.'<br />';
}
繼續學習
||
<?php $i=0; echo '<table width="800" border="1">'; while($i<100){ //0 - 9 为一行 //10 -19 为一行 //因此,每一行都能够被10求默,如为为10的时候,应该显示行开始的标签 if($i%10 == 0){ //为了隔行变色,每20,40,60每行的颜色是不同的,因此我们又可以再进行一次取余运算 if($i%20==0){ echo '<tr>'; }else{ echo '<tr bgcolor="pink">'; } } echo '<td>'.$i.'</td>'; $i++; //同理,每一行结束是不是应该有一个</tr>结束标签呢? if($i%10==0){ echo '</tr>'; } } echo '</table>'; ?>