while循环
章节
笔记
提问

php入门教程之一周学会PHP

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>'; ?>
提交重置代码
0/300

    手记推荐

    更多