1. while 语句

while (条件判断) {

    statement

}

当条件判断返回 True, 则一直执行 while 内的语句一次 : statement; 直到条件判断返回 False 的时候, 退出循环

while 语句的另外一种书写格式 :

while (条件判断) :

    statement

endwhile;

2. do ... while 语句

do {

    statement

}while(条件判断);

先执行一次循环内的语句 : statement, 再去条件判断, 当条件判断返回 True, 则一直去执行循环内的语句一次 : statement; 直到条件判断返回 False 的时候, 退出循环

do ... while 语句的另外一种书写方法 :

do :

    statement

while(条件判断);

3. for 语句

for(初始条件; 条件判断; 条件增量) {

    statement

}

首先赋予一个变量初始条件, 并且当条件判断返回 True 的时候, 执行一次 for 循环内的语句 : statement, 再改变变量数值继续判断, 当条件判断返回 True 的时候, 继续执行 for 循环内的语句, 直到条件判断返回 False 的时候退出循环

for 循环的另外一种写法 :

for(初始条件; 条件判断; 条件增量) :

    statement

endfor;

4. foreach 语句

foreach 语句有点像 Swift 里面的 for-in 循环, 作用是对数组进行遍历

for(数组 as 数组元素值) {

    statement for array

}

对于包含键值的数组 :

for(数组 as 键值 => 数组元素值) {

    statement for array

}

示例 :

<?php

$array = array("a" => "one", "b" => "two", "c" => "three");

foreach($array as $key => $value) {

    echo $key." => ".$value;

    echo "<br />";

}

?>

    /*结果 :

        a => one

        b => two

        c => three

    */

5. break 关键字

在说 break 关键字之前, 首先总结一下 break 关键字的作用域 : for 语句, while 语句, do ... while 语句, foreach 语句和 switch 语句

break 对于 switch 语句的作用, 在上一个课程中已经说的很清楚了, 这里不再累赘

在这些语句中, 若 break 关键字被执行, 那么立刻跳出这些作用域的结构. 对于循环结构来说, 立刻停止循环, break 下面的语句不再执行; 对于条件判断 switch 语句来说, 立刻停止判断, 跳出结构, break 下面的语句不再执行

PHP 中, break 关键字有一个特性, 就是后面可以带一个数字, 即 break n

此时就要用到 break 关键字的作用域

break n 后面的 n 代表跳出 nbreak 关键字作用域的结构

我知道这样说估计你们是不明白的...

下面有个以类 Debug Run 执行的实例 :

<?php

$n = 0;

while(1) {

    $n++;

    switch($n) {

        case 1 :    #第一次执行的时候, $n = 1, 在 switch 语句中执行 echo $n; 和 break;, 那么输出的结果为 1

            echo $n;

            break;

        case 2 :    #第二次执行的时候, $n = 2, switch 语句来到这里

            echo $n;    #首先输出了 $n 的值 : 2

            break 2;    #来到 break 2 语句, 首先执行第一次 break, 即跳出 switch 语句结构. 执行完毕之后, 因为 break 后面跟着的是 2, 所以还要执行一次 break, 即跳出 while 循环结构. 因为 while 循环外不再有语句, 所以到这里程序直接结束

        default :

            break;

    }

}

?>

    /*结果 :

        12

    */

换句话说, break n 有点类似于一个循环, 即执行 nbreak

所以, breakbreak 1 其实是一样的, 当你输入 break 的时候, 相当于在执行 break 1, 因为几乎没人喜欢后面加多个 1, 所以很少见到有人的程序里有 break 1

当然, break n 也是很少见的...

6. continue 关键字

continue 关键字只作用于循环

continue 关键字的意思是结束这一次循环, 立刻进入下一个循环 (不是立刻寻找并进入下一个循环体, 是循环体内立刻停止并执行下一次循环)

如果还不能懂的话, 看一下下面这个示例吧 :

<?php

$cnt = 0;    #计数器, 计算女生的数量

$arr = array(

    "A" =>"male",

    "B" => "female",

    "C" => "male",

    "D" => "female",

    "E" => "male",

    "F" => "male"

);

foreach($arr as $key => $value) {

    if($value == "male") {

        continue;    #当性别为男性的时候, 执行 continue 语句, 即立刻停止循环, 进入下一个循环 (后面的 $cnt++ 不再执行, 否则就是每一个都计数

    }

    $cnt++;

}

echo $cnt;    #结果 : 2

?>

continuebreak 相似, 在 PHP 中也有一个 continue n 的语句, 因为作用差不多, 所以这里不再累赘