php基礎迴圈控制語句學習筆記

來源:互聯網
上載者:User
迴圈控制語句

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

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><?phpheader("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><?phpheader("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><?phpheader("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><?phpheader("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><?phpheader("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也可以指定跳出幾重迴圈。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.