PHP基礎學習5.深刻循環之while循環

上一節咱們學習了for循環的使用以及語法,這一節看看while循環的語法結構和使用場景。數據庫

while循環比for循環結構上更加簡單,它表達了 只要XXX就循環的概念。數組

好比下面這個簡單例子學習

clipboard.png

while循環實現數組從頭部出棧spa

這個例子用來說while循環,好像有點大材小用了,這個循環的意思是,只要數組不爲空,就一直從頭部出來一個元素,病打印它。當數組爲空的時候,天然而然就退出循環了。遞歸

誠如你所見,while循環的結構是很簡單的 while關鍵字後面跟一個括號表示條件,後面是一個花括號表示結構體,相對於for循環而言,每次循環產生的變化被放入到結構體內,這裏咱們再也不舉那些很是簡單的例子,與上一節遙相呼應,咱們可使用while循環書寫和for循環相似的例子,以下:索引

clipboard.png

while循環實現array_searchip

clipboard.png

while循環實現in_arrayget

clipboard.png

while循環實現array_combineit

一樣,while循環實現關聯數組的遍歷會有一些小麻煩,由於獲取的key是非數值型的,因此在遍歷的時候和for循環同樣均可能遇到索引越界的錯誤。for循環

根據while循環的結構你可能已經猜到了,while循環的使用範圍可能沒有for循環普遍,不過,它獨到之處在於結構體簡單,易於理解,在企業項目中會用於一些特殊場景中,例如咱們寫的出棧,計算,遞歸等等,那些有一個明確循環跳出條件的場景。好比我以前寫過的計算自增會員卡號,只要數據庫中有該卡號就一直遞增,直到數據庫沒有爲止,拿到那個會員卡號給用戶,或者是另一個例子,產生一系列不重複的隨機碼和數據庫已有兌換碼比對,只要曾經產生過並存入了數據庫,就再次嘗試生成新的隨機碼,直到達到指定數量爲止。

while循環的獨特造就了它的使用場景,讓更多不明確數組長度以及跳出條件的業務能使用循環,它能彌補for循環那種要求明確變化和跳出條件的業務缺陷,事實上,企業項目中的不少場景都不是純靠理論能支撐的,須要咱們從必定的高度上去改造,結合實際,封裝概括等等,來完成它,而while循環正是爲咱們解決特殊循環場景提供了有力的保障!
文章由甲爪cpa聯盟http://www.jiazhua.com)整理編輯!

相關文章
相關標籤/搜索