首頁 >後端開發 >php教程 >php基礎循環控制語句學習筆記

php基礎循環控制語句學習筆記

伊谢尔伦
伊谢尔伦原創
2017-06-22 10:19:091381瀏覽

循環控制語句

條件控制語句,可以依照條件選擇執行不同的語句。但有時需要重複使用某段程式碼或函數。

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 1917183 1071 71 73 79 83 19173 173 1071 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 329 3 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 576 569 3 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 8838987 3919 179 3 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也可以指定跳出幾重迴圈。

以上是php基礎循環控制語句學習筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn