s 5"; echo "..."; elseif ($a == 6): echo "a equals 6"; echo "!!!"; else: echo "a is neither 5 nor 6"; endif; ?> 更多例子参见 while,for 和 if。 Main : 语言参考 : 控制结 构 : 流程控制的替代语法 This page online Report a bug
<< elseif
while >>
while
while 循环是
PHP 中最简单的循环类型。 它和 C 语言中的 while 表现得一样。 while 语句的基本格式是: copy to clipboard while (expr) statement
while 语句的含意很简单, 它告诉 PHP 只要 while 表达式的值为 TRUE 就重复 执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在 循环语句中改变了, 语句也不会停止执行, 直到本次循环结束。 有时候如果 while 表达式的值一开始就是 FALSE,则循环语句一次都不会执行。 和 if 语句一样,可以在 while 循环中用花括号括起一个语句组,或者用替代 语法: copy to clipboard while (expr): statement ... endwhile; 下面两个例子完全一样,都显示数字 1 到 10: copy to clipboard << 流程控制的替 代语法 Main : 语言参考 : 控制结 构 : while Report a bug do-while >>
This page online
dodo-while
do-while 和 while 循环非常相似, 区别在于表达式的值是在每次循环结束时检 查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保 证会执行一次 (表达式的真值在每次循环结束后检查) 然而
在正规的 while 循 , 环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整 个循环立即终止)。 do-while 循环只有一种语法: copy to clipboard 0); ?> 以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其 值为 FALSE($i 不大于 0)而导致循环终止。 资深的 C 语言用户可能熟悉另一种不同的 do-while 循环用法,把语句放在 do-while(0) 之中,在循环内部用 break 语句来结束执行循环。以下代码片段 示范了此方法: copy to clipboard 如果还不能立刻理解也不用担心。 即使不用此“特性”也照样可以写出强大的代 码来。
for
copy to clipboard for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次。 expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环 语句。如果值为 FALSE,则终止循环。 expr3 在每次循环之后被求值(执行)。 每个表达式都可以为空。 expr2 为空意味着将无限循环下去 (和 C 一样, PHP 认 为其值为 TRUE)。这可能不像想象中那样没有用,因为经常会希望用 break 语 句来结束循环而不是用 for 的表达式真值判断。 考虑以下的例子,它们都显示数字 1 到 10: copy to clipboard 10) { break; } echo $i; } /* example 3 */ $i = 1; for (;;) { if ($i > 10) { break; }
echo $i; $i++; } /* example 4 */ for ($i = 1; $i <= 10; echo $i, $i++); ?> 当然,第一个例子看上去最正常(或者第四个),但用户可能会发现在 for 循 环中用空的表达式在很多场合下会很方便。 PHP 也支持用冒号的 for 循环的替代语法。 copy to clipboard for (expr1; expr2; expr3): statement; ... endfor; << do-while Main : 语言参考 : 控制结 构 : for This page online Report a bug foreach >>
foreach
PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数 组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未 初始化的变量时会产生错误。有两种语