先導
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的執行。而且可以接受...