1、for迴圈遍歷
只能遍歷索引陣列
2、foreach迴圈遍歷
能遍歷索引和關聯陣列,會在遍歷之前對陣列進行reset()操作
3、list()、each()、while
可以遍歷索引和關聯陣列,且不會進行reset()操作,所以如果在list()、each、while操作前如果有修改陣列指標的操作,使用list()、each()、while迴圈陣列會導致只能遍歷一部分的情況。
具體例子如下
$array=[
'a',
'b',
'c']
;next
($array);
print_r
(each
($array))
;//值為 value => b,因為上方next函式改變了陣列的指標
在使用if elseif判斷的時候,把可能性大的條件放前面,可以減少判斷次數
//把可能性高的條件放在前面,減少判斷次數if(
$exp1
)elseif
($exp2
)else
switch判斷中的變數只能是整形、浮點數、字串
switch case 會生成跳轉表(底層c語言原理),直接跳轉到對應的case,不會一層一層的判斷,拿到switch中的值就跳到對應的case中。
//$exp的值只能是整形、浮點數、字串
switch
($exp
)
問:php中如何優化多個if elseif語句的情況?
答:將可能性高的條件盡量的放在if elseif條件的前列,如果判斷條件的值是整形、浮點、字串則,而且判斷的內容是比較複雜的內容,則可以使用switch來進行判斷會相比if elseif帶來乙個效率上的提公升
php流程控制
流程 1 if statements if expression i a 5 i b 4 if i a i b elseif i a i b else 2 邏輯運算子 i a 5 i b 4 i c 6 i d 7 if i a i b i c i d if i a i b i c i d 3 sw...
PHP流程控制
先導 php遍歷陣列的三種方式及其區別 使用for迴圈 使用foreach迴圈 使用while list each 組合迴圈 區別在於 for迴圈只能遍歷索引陣列 foreach迴圈既可以遍歷索引陣列也可以遍歷關聯陣列,會對陣列進行reset 操作,重置指標位置 第三種組合迴圈同樣可以遍歷索引陣列和...
PHP流程控制
單分支 if 表示式 header content type text html charset utf 8 防止在不同瀏覽器出現亂碼bug num 1 if num 1 if num 2 說明,當表示式成立的時候,執行語句,如果不成立直接結束if結構,繼續其後的語句執行 雙分支 if 表示式a e...