迴圈控制結構
for迴圈語句
foreach 迴圈語句
流程控制的另一種書寫格式
使用break/continue語句跳出迴圈
流程控制也叫控制流程,在應用中用來定義執行程式的流程。php中控制語句分為三類:順序控制語句、條件控制語句和迴圈控制語句。其中,順序控制語句是從上到下依次執行的,這種結構沒有分支和迴圈,是php中最簡單的結構。
條件控制語句包含兩個主要語句:if語句和switch語句。
if語句是常見的條件控制語句。格式:
if(條件判斷語句)
這種形式只對乙個條件進行判斷。如果條件成立,則執行命令語句,否則不執行。
<?php
$num
=rand(1
,100);
if($num%2
!=0)?>
上面就是判斷一下生成的隨機整數,除以2,如果餘數是0,則不執行下面的;如果不等於0就執行顯示下面語句。
如果是條件成立則執行這句,否則執行那句,用if…else,這個有點像前面記得有個三元運算子。
語法格式:
if(條件判斷語句)else
例子:
<?php$d=
date
("d");
if($d==
"fri"
)else
?>
根據當前時間判斷是不是周五。
在條件控制結構中,有時候會出現多種選擇,這就可以使用elseif語句。語法格式:
if(條件判斷語句)elseif(條件判斷語句)……
else
switch語句結構給出不同情況下可能執行的程式塊,條件滿足哪個程式塊,就執行那個語句。語法格式:
switch(條件判斷語句)
迴圈控制語句主要包括三中:while迴圈、do…while迴圈和for迴圈。
while迴圈在**執行的開始檢查表述的真假;
do…while迴圈則在**執行的末尾檢查表述的真假,即do…while迴圈至少要執行一遍。
語法結構:
while(條件判斷語句)
當「條件判斷語句」為true時,執行後面的「命令執行語句」,然後返回到條件表示式繼續進行判斷,直到表示式的值為假,才能跳出迴圈,執行後面的語句。
<?php
$num=1
;$str
="20以內的奇數為:"
;while
($num
<=20)
$num++;
}echo
$str
;?>
語法結構:
do
while(條件判斷語句)
這個迴圈先執行「命令執行語句」,其中的變數會隨著命令的執行發生變化。當此變數通過while後的「條件判斷語句」判定為false時,停止執行「命令執行語句」。
<?php$a=
0;while($a
!=0)do
while($a
!=0);
?>
看上面執行的結果應該就知道了,while和do…while是有區別的,前面是先判斷是否執行,後面是先執行在判斷,判斷完了是否繼續在此執行。後面就是直接先走一遍後再進行判斷是否迴圈。
格式:
for(expr1, expr2, expr3)
上面expr1為條件的初始值;expr2為判斷語句,通常都使用表示式或者邏輯表示式充當判斷條件;執行完命令語句後,在執行expr3。
<?php
for($i=
0;$i<4;
$i++
)?>
應該是上面那句話重複列印4遍,從0、1、2、3都小於4。
foreach語句常用在遍歷陣列的元素,格式:
foreach(陣列 as 陣列元素)
可以根據陣列的情況分為兩種:不包含鍵值的陣列和包含鍵值的陣列。
不含鍵值:
foreach
(陣列 as 陣列元素值)
包含鍵值:
foreach
(陣列 as 鍵值 =
> 陣列元素值)
每進行一次迴圈,當前陣列元素的值就會被賦值給陣列元素值變數,陣列指標會逐一移動,直到遍歷結束為止。
<?php
$arr=[
"one"
,"two"
,"three"];
foreach
($arr
as$value
)?>
陣列值: one使用含有多條件、多迴圈的語句中,使用多個花括號,看起來比較繁瑣。陣列值: two
陣列值: three
流程控制語句的另外一種書寫方式是以:
的形式來代替左邊的。
這種描述程式的可讀性比較強。
條件控制if語句:
if
(條件判斷語句)
: 命令執行語句;
elseif
(條件判斷語句)
: 命令執行語句;
elseif
(條件判斷語句)
: 命令執行語句;
……else
: 命令執行語句;
endif
;
條件控制switch語句
switch
(條件判斷)
:case 可能結果a:
命令執行語句;
case 可能結果b:
命令執行語句;
…… default
: 命令執行語句;
endswitch
;
迴圈控制while語句
while
(條件判斷)
: 命令執行語句;
endwhile
;
迴圈控制do…while語句
do
命令執行;
while
(條件判斷)
;
迴圈控制for語句
for
(初始值; 為真的布林值; 增幅表示式)
: 命令執行;
endfor
;
break關鍵字用來跳出迴圈控制和條件switch控制的執行,就是終止。
continue關鍵字作用是跳開當前的迴圈迭代項,直接進入到下乙個迴圈迭代項,繼續執行程式。
PHP 10 流程控制
原文 php 10 流程控制 感覺php和其他語言相似。說說php提供的流程控制關鍵字吧。條件if else elseif switch 迴圈 while dowhile break continue forforeach 需要強調的一點是foreach,其語法是 foreach array exp...
PHP學習筆記(四) 流程控制
流程控制語句中包含多條語句,其中if if else elseif while do while for switch在其他的程式語言中都已存在,在php這些語句也無二致,在此不予贅述。php提供了一些流程控制的替代語法,包括if while foreach switch。替代語法的基本形式是把左花...
PHP筆記 流程控制篇
php流程控制學習筆記 1.對於if while for foreach switch,可以用 代替 塊開始的 似乎很少用到的樣子.2.修改陣列元素的方法 來自 arr array 1,2,3,4 foreach arr as value arr is now array 2,4,6,8 unset...