A-A+

PHP循环控制语句4.2

2012年01月30日 PHP技术文章 暂无评论 阅读 50 views 次

PHP循环控制语句有:while、do...while、for 和 foreach。

4.2.1 while 循环语句

while 循环是 PHP 中最简单的循环语句,它的语法格式为:

while(expr){
    statement
}

当表达式 expr 的值为真时,将执行 statement 语句,执行结束后,再返回到 expr 表达式继续进行判断。直到表达式的值为

假,才跳出循环。

4.22 do...while 循环语句

while 语句还有另一种形式的表示,即 do...while。两者的区别在于,do...while 要比 while 语句多循环一次。当 while

表达式的值为假时,while 循环直接跳出当前循环;而do...while 语句则是先执行一遍程序块,然后再对表达式进行判断。

程序代码:

<?php 
$num = 1;
while ($num != 1){
    echo "不会看到";
}

do {
    echo "会看到。";
}while ($num != 1);
?>

结果显示:会看到。

4.23 for 循环语句

for 循环是 PHP 中最复杂的循环结构,它的语法格式为:

for(expr1;expr2;expr3){
    statement;
}

其中,expr1 在第一循环时无条件取一次值;expr2 在每次循环开始前求值,如果值为真,则执行 statement,否则跳出循环,

继续往下执行;expr3 在每次循环后被执行。

案例代码:

<?php 
FOR ($i = 0; $i <= 2; $i++) 
{ 
print "value is now " . $i . "<br>"; 
} 
?>

输出结果:

value is now 0
value is now 1
value is now 2

在第一循环,$i=0,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i得到加1,变成1。 在第二循环,$ = 1,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i得到加1,变成2。 在第三迭代,$i= 2,这意味着表达,($i<= 2),为ture。因此,打印语句执行时,$i递增,成为1 3。 在第四迭代,$i= 3,这意味着表达,($i<= 2),是假的。因此,PHP不去执行循环,不执行打印语句。 注意:在for语句中无论采用循环变量递增或递减的方式,前提是一定要保证循环能够结束,无期限的循环(死循环)将导致程序的崩溃。 4.24 foreach 循环语句 foreach 循环是 PHP4 引进来的,只能用于数组。在PHP5 中,又增加了对对象的支持。该语句的语法格式为: [code lang="php"] foreach (array_e­xpression as $value) statement 或 foreach (array_e­xpression as $key => $value)
statement
[/code]

foreach 语句将遍历数组 array_e­xpression,每次循环时,将当前数组中的值赋给$value(或是$key和$value),同时,数组指针向后移动直到遍历结束。当使用 foreach 语句时,数组指针将自动被重置,所以不需要手动设置指针位置。

案例代码:

<?php 
$book = array('asp','php','java'); 
  
foreach($book as $k=>$val)  //for  $book  each  $value( as )
    echo $k.'=>'.$val.'<BR>';
?>

输出结果:

0=>asp
1=>php
2=>java

注意:当试图使用 foreach 语句用于其他数据类型或者未初始化的变量时会产生错误。为了避免这个问题,最好使用 is_array()函数先来判断变量是否为数组类型。如果是,再进行其他操作。

标签:

给我留言