PHP流程控制

2022-08-24 07:12:11 字數 1024 閱讀 4840

先導

php遍歷陣列的三種方式及其區別

①使用for迴圈

②使用foreach迴圈

③使用while、list()、each()組合迴圈

區別在於:

for迴圈只能遍歷索引陣列;

foreach迴圈既可以遍歷索引陣列也可以遍歷關聯陣列,會對陣列進行reset()操作,重置指標位置;

第三種組合迴圈同樣可以遍歷索引陣列和關聯陣列,但是不會進行reset()操作,保留遍歷前的指標位置。

ps:這裡再說明一下索引陣列和關聯陣列的區別

索引陣列就是陣列的下標是數字其實這是關聯陣列的簡寫方式

舉個例子

arr[0] 其實他是arr[「0」] 的簡寫方式

所以索引陣列的本質上是關聯陣列

關聯陣列的定義就是陣列裡面的下標為字串

例如arr[「index」] 可以簡寫為arr.index

這時候有人會問為什麼上面的arr[「0」]不簡寫為arr.0

有乙個很重要的原因就是 和js裡面的小數衝突了 所以簡寫方式用代替。

if....elseif

在elseif中只能有乙個表示式為true,多個elseif語句從句是排斥關係。

在使用elseif語句時有乙個基本原則,總是把優先範圍小,可能性大的條件放在前面處理。

switch...case...

switch後面的控制表示式的資料型別只能是整型、浮點型別或者字串

continue語句作用到switch中類似於break

跳出switch外的迴圈,可以使用continue 2

switch...case...會生成跳轉表,直接跳轉到對應case

擴充套件

php中如何優化多個if...elseif語句的情況?

①把優先範圍小,可能性大的條件放在前面處理

②表示式的資料型別滿足switch...case...可以替換成該流程控制,效率高一些

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流程控制

單分支 if 表示式 header content type text html charset utf 8 防止在不同瀏覽器出現亂碼bug num 1 if num 1 if num 2 說明,當表示式成立的時候,執行語句,如果不成立直接結束if結構,繼續其後的語句執行 雙分支 if 表示式a e...

PHP的流程控制

while和do while差別在do while保證能執行一次,因為do while是在每次迴圈結束時檢查,而不是開始時,其他方面沒有區別。僅能夠用於陣列和物件,第二種格式是把當前單元的鍵名賦給 key。用於結束for,foreach,while,do while和switch的執行。而且可以接受...