前言
本系列文章主要是根據實戰視頻《360大牛:全面解讀PHP面試》學習過程中記錄的學習筆記,期間也會加入查找資料和平時學習中學習到的知識。
PHP的遍歷數組的三種方式以及各自區別
①使用 for 循環
②使用 foreach 循環
③使用 while、list()、 each() 組合循環
區別:
①for循環只能遍歷索引數組;foreach可以遍歷索引和關聯數組;聯合使用list(),each()和while循環同樣可以遍歷索引和關聯數組。
②while、list()、each()組合不會reset()(即數組指針不會重置)。
③foreach遍歷會對數組進行reset()操作(即在開始遍歷之前會把數組的指針重置到起始位置)。
常用分支語句
if......elseif
在elseif語句中只能有一個表達式爲true,即在elseif語句中只能有一個語句塊被執行,多個elseif從句是排斥關係。
使用elseif語句有一個基本原則,總把優先範圍小的條件放在前面處理。
switch ... case ...
和if不同,switch後面的控制表達式的數據類型只能是整型、浮點型或者字符串。(補充:布爾型也可以,經過測試了;null 也可以,不過識別爲false)。
<?php
$bool = null;
//$bool = true;
switch ($bool) {
case TRUE:
echo 'true';
break;
case FALSE:
echo 'false'; //命中此處邏輯,輸出爲 false
break;
case NULL: echo 'null';
break;
}
技巧
continue語句作用到switch的作用類似於break。若想從switch中直接跳出switch外的一個循環,可以使用continue2
switch...case會生成跳轉表(索引表),直接跳轉到對應的case。
效率:如果條件比一個簡單的比較要複雜得多或者在一個很多次的循環中,那麼用switch語句可能會快一些。