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
  •   湮酒
    有没有久久乘法表的教程 急求
    时间:11个月前2
  • 雨露
    //这是什么意思啊? if($i%10 == 0)
    时间:11个月前2
  • 三明
    99 乖法表的核心 if($j<=$i): echo '<td bgcolor="#ccc">'.$j.'*'.$i.'='.$i*$j.'</td>'; else: echo '<td></td>'; endif;
    时间:1个月前0
  • 三明
    $i=1; while($i<10){ echo '<tr>'; $j=1; while($j<10){ if($j<=$i): echo '<td bgcolor="#ccc">'.$j.'*'.$i.'='.$i*$j.'</td>';
    时间:1个月前0
  • 三明
    if($i%2==0): echo '<tr>'; else: echo '<tr bgcolor="#00CC66">'; endif; 不带{}的写法更简明
    时间:1个月前0
  • 飞奔吧我的小马驹
    <?php echo '<table width="800" border="1">';$i=0;while($i<10){echo '<tr>'; $j=1;while($j<=$i){echo '<td>'.$i.'x'.$j.'='.$i*$j.'</td>'; $j++;} echo
    时间:1个月前0
  • 飞奔吧我的小马驹
    <?php echo '<table width="800" border="1">'; $i=0; while($i<10){ echo '<tr>'; $j=1; while($j<=$i){ echo '<td>'.$i.'x'.$j.'='.$
    时间:1个月前0
  • 飞奔吧我的小马驹
    //99乘法表拿去 <?php echo '<table width="800" border="1">'; $i=0; while($i<10){ echo '<tr>'; $j=1; while($j<=$i){ echo '<td>
    时间:1个月前0
  • phpcn_u157022
    颜色行数代码放反了。
    时间:1个月前0
  • 那个..
    <?php $i=1; $j=1; for($i=1;$i<=9;$i++) {echo "<br>"; for($j=1;$j<10;$j++) { echo $i."*".$j.'='.$i*$j; } } ?>
    时间:2个月前0
  • 修
    $x = 1; while($x < 10){ $y = 1; $i = $x; while($i--){ echo $x . 'x' .$y . '=' . $x * $y . ' '; $y++; } echo '<br>'; $x++; }
    时间:2个月前0
  • A-LXL
    <?php echo '<table width="800" border="1">'; $i=0; while($i<10){ if($i%2==0) {echo '<tr>';}else {echo '<tr bgcolor=pink >';}; $j=0; wh
    时间:5个月前0
  • 生活一家
    一个中括号的结尾放错地方了都不行,中括号位置是十分重要啊!!
    时间:8个月前0
  • Aの汉
    尴尬,貌似只能发布一个的,那可以到我博客上去看一下,我已经发布了一个,就不能发布,好尴尬
    时间:8个月前0
  • Aの汉
    想要九九乘法表的到笔记里面查看
    时间:8个月前0
  • 我只是一条咸鱼哈
    $i%10 == 0 即是 $i 除 10 是否整除
    时间:8个月前0
  • 再见理想
    <?php $i=0; echo '<table width="800" border="1">'; while($i<100){ if($i%10==0) { echo '</tr>';} if($i%20==0) {echo '&
    时间:9个月前0
  • 易先生
    if($i%10 == 0) 如果 $i余10等等零
    时间:10个月前0
  • ༺天苍苍
    if($i%10)==0) 取余,意思就是当时10的整数倍的时候。
    时间:11个月前0
  • phpcn_u4798
    if($a%10==0){ echo "<tr>"; } if($a%20==0){ echo "<tr bgcolor='yellow' >"; } }while($a<=99); echo "</tr>"; ?>
    时间:11个月前0
  • phpcn_u4798
    //更加简洁书写! <?php $a=0; echo "<table width='800' border='1'>"; do{ $a++; echo "<td>".$a."</td>"; if($a%10==0){ ec
    时间:11个月前0

手记推荐

更多