php基础教程 第八步循环补充
其它循環
上一節內容中,講解了php中的循環,并且了解了for循環。for循環是php循環中的一種,在本節中繼續講解php循環:While循環、do…while循環、foreach 循環。
While循環
While循環和for循環類似,但是在它的圓括號中只填寫循環執行的條件。
語法格式如下:
查看以下代碼示例:
<?php $a=array("1","hello",12,"LiLei",13); $i=0; while ($i<count($a)) {echo $a[$i].'<br/>'; } ?>以上代碼示例中,定義了一個a數組變量,值為 "1","hello",12,"LiLei",13,隨后定義了一個i變量,值為0。
接下來使用了while循環,在條件中,添加了 $i<count($a),用來判斷當前i變量每循環一次是否已經大于了數組長度。隨后每次循環都輸出當前a數組的第i位置值。
查看完以上代碼,我們發現,$i變量并沒有進行增減,一直都是初始化時的值,為0。此時循環將會一直執行,成為死循環。要避免這種情況我們可以使$i 變量每循環一次就增加1,代碼可以寫為如下:
<?php $a=array("1","hello",12,"LiLei",13); $i=0; while ($i<count($a)) {echo $a[$i].'<br/>';$i++; } ?>在循環的代碼中,執行了$i++每次循環i變量加一。這樣i值會有變化,在有限次數內會跳出循環。
最終結果如下:
do…while 循環
do…while循環是類型while的一種循環方式,查看以下do…while循環的語法:
do {要執行的代碼; } while (條件);do…while 循環與while循環的不同是,do…while循環條件放在后面,while循環是在前面。這種方式方式有什么不同呢?請看以下示例:
<?php $i=5; do {echo 'hello';$i++; }while ($i<5); ?>在以上的do…while循環中,while循環后的條件是 $i<5,但是變量i的值初始化定義的時候為5,條件是不成立的,那么循環是否會執行?查看以下結果:
循環指定了一次,輸出了一個hello,隨后就跳出循環。
do…while循環和while 循環的不同點在于,do…while循環不管條件成立與否都會執行一次循環,而while循環則會先判斷條件隨后再進行循環。兩者先后順序不一樣。并且do…while循環需要在條件后打上分號,表示結束。
foreach 循環
foreach循環用于遍歷數組,每次循環,數組的元素值就會賦值給一個變量。語法如下:
foreach (數組 as 指向的變量) {循環的代碼; }示例如下:
<?php $a=array('1','aaaa',23,'daw'); foreach($a as $val){echo $val.'<br/>'; } ?>以上代碼中,定義了一個數組變量a,接下來使用foreach循環進行數組的遍歷。
在foreach的圓括號中,代碼為 $a as $val,釋義為變量val指向數組a變量的元素,每次都指向下一個。例如第一次循環指向為’1’,第二次循環指向為’aaaa’,第三次以此類推。結果如下:
foreach循環變量鍵值對
foreach循環對鍵值對的遍歷也是非常友好的。查看如下示例:
<?php $a=array('name'=>'Xiaoming','age'=>23); foreach($a as $key=>$val){echo $key.'=>'.$val.'<br/>'; } ?>以上示例中,定義了一個鍵值對數組a,name是鍵,Xiaoming是值,其它值也是鍵值對。
使用foreach進行對a數組的遍歷,在圓括號中 $a as $key=>$val,首先是需要遍歷的數組 a,使用關鍵字as,之后是$key=>$val,表示鍵值對的一種關系,$key 是鍵 $val 是指,這兩個變量名可以隨意更改,并不是一定需要跟我所寫的一致。
結果如下:
在鍵值對的數組中,也可以不設置鍵值對關系。例如示例:
以上數組中并不完全是設置的鍵值對。運行結果如下:
自定義鍵值對后,如果出現未定義鍵的數組元素,則會從0開始默認分配。
總結
以上是生活随笔為你收集整理的php基础教程 第八步循环补充的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php基础教程 第七步数组补充及循环基础
- 下一篇: php基础教程 第九步 自定义函数