php流程控制面試

2021-10-14 03:55:39 字數 933 閱讀 5385

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...