循环控制语句
条件控制语句,可以根据条件选择执行不同的语句。但有时需要重复使用某段代码或函数。
while循环语句
while循环是PHP中最简单的循环语句,它的语法格式为:
while(expr){ statement; }
当表达式expr的值为真时,将执行statement语句,执行结束后,再返回到expr表达式继续进行判断。直到表达式的值为假,才跳出循环,执行下面的语句。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $num=1; $str="10以内的偶数为:"; while($num <= 10){ if($num % 2 == 0){ $str.=$num." "; } $num++; } echo $str; ?> </body> </html>
运行结果:
10以内的偶数为:2 4 6 8 10
do…while循环语句
while语句还有另一种形式的表示,即do…while。两者的区别在于,do…while要比while语句多循环一次。当while表达式的值为假时,while循环直接跳出当前循环;而do…while语句则是先执行一遍程序块,然后再对条件表达式进行判断。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $num=1; while($num != 1){ echo "不会看到"; } do{ echo "会看到"; }while($num != 1); ?> </body> </html>
运行结果:
会看到
for循环语句
for循环是PHP中最复杂的循环结构,它的语法格式为:
for(expr1;expr2;expr3){ statement; }
其中,expr1在第一次循环时无条件取一次值;expr2在每次循环开始前求值,如果值为真,这执行statement,否则跳出循环,继续往下执行;expr3在每次循环后被执行。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $num=1; for($i=1;$i <= 100;$i++){ $num*=$i; } echo "100!=".$num; ?> </body> </html>
运行结果:
100!=9.3326215443944E+157
foreach循环语句
foreach循环时PHP4引进来的,只能用于数组,在PHP5中,又增加了对对象的支持。语法格式:
foreach(array_expression as $value) statement;
或
foreach(array_expression as $key => $value) statenment;
<!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $name=array("1"=>"Jack","2"=>"Ben","3"=>"Bill"); foreach($name as $key => $value){ echo " ".$name[$key]; } ?> </body> </html>
运行结果:
Jack Ben Bill
流程控制的另一种书写格式
在一个复杂的PHP页面中,可能包含多个条件控制语句、循环控制语句和函数,仅查找匹配的大括号“{}”就非常麻烦。为此,PHP提供了另一种书写格式,包括if、while、for、foreach和switch都可以使用。书写格式的基本形式是:使用冒号”:”来代替左边的大括号“{”;使用endif;、endwhile、endfor、endforeach;和endswitch;来的代替右边的大括号“}”。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $ss=2; $max=1000; $arr=array(); echo $max."以内的素数为:"; while($ss < $max): $boo=false; foreach($arr as $value): if($ss % $value ==0): $boo=true; break; endif; endforeach; if(!$boo): echo $ss." "; $arr[count($arr)]=$ss; endif; $ss++; endwhile; ?> </body> </html>
运行结果:
1000以内的素数为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997
使用break/continue语句跳出循环
在使用循环语句时,有时不确定循环的次数,遇到这种情况可以使用无限循环,如:
while(true){ ...}
或
for(;;){ ...}
只有当程序块满足一定条件后才跳出循环,跳出循环使用的关键字是break和continue。
break关键字可以终止当前的循环,包括while、do…while、for、foreach和switch 在内的所有控制语句。
break语句不仅可以跳出当前的循环,还可以指定跳出几层循环,格式为:
break $num;
参数$num 指定要跳出几层循环。
continue关键字的作用没有break强大,continue只能终止本次循环而进入到下一次循环中,continue也可以指定跳出几重循环。
Atas ialah kandungan terperinci php基础循环控制语句学习笔记. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!