PHP中遍歷陣列有三種常用的方法:
1、使用for語句循環遍歷陣列;
2 、使用foreach語句遍歷數組;
3、聯合使用list()、each()和while循環遍歷數組。
這三種方法中效率最高的是使用foreach語句遍歷陣列。從PHP4開始就引入了foreach結構,是PHP中專門為遍歷數組而設計的語句,推薦大家使用。先分別介紹這幾種方法。
一、使用for語句循環遍歷數組
值得大家注意的是使用for語句循環遍歷數組要求遍歷的數組必須是索引數組。 PHP中不僅有關聯數組而且還有索引數組,所以PHP很少用for語句循環遍歷數組。
實例程式碼如下:
<?php header("Content-Type: text/html; charset=utf-8"); $arr = array('//m.sbmmt.com','php中文网','PHP教程'); $num = count($arr); for($i=0;$i<$num;++$i){ echo $arr[$i].'<br />'; } ?>
註解:上例程式碼中我們先計算出陣列$arr中元素的個數,然後才使用在for語句,這樣做很有效率的。因為如果是for($i=0;$i< count($arr);++$i)的話,每次迴圈都會計算數組$arr中元素的個數,而使用上面的方式可以減去這種開銷。使用++$i也是為了提高效率,前面有文章我們有提到過,建議大家再看看。
上面程式碼的輸出結果為:
//m.sbmmt.com php中文网 PHP教程
二、使用foreach語句遍歷數組
使用foreach語句循環遍歷數組有二種方式,我們使用的最多的還是第一種方式。介紹如下:
第一種方式:
foreach(array_expression as $value){ //循环体 }
實例程式碼:
<?php header("Content-Type: text/html; charset=utf-8"); $arr = array('//m.sbmmt.com','php中文网','PHP教程'); foreach($arr as $value){ echo $value.'<br />'; } ?>
每次迴圈中,目前元素的值被賦給變數$value,並且把陣列內部的指針向後移動一步。所以下一次循環中會得到數組的下一個元素,直到數組的結尾才停止循環,結束數組的遍歷。
第二種方式:
foreach(array_expression as $key=>$value){ //循环体 }
實例程式碼:
<?php header("Content-Type: text/html; charset=utf-8"); $arr = array('//m.sbmmt.com','php中文网','PHP教程'); foreach($arr as $k=>$v){ echo $k."=>".$v."<br />"; } ?>
輸出:
0=>//m.sbmmt.com 1=>php中文网 2=>PHP教程
三、聯合使用list()、each()和while循環遍歷數組
each()函數需要傳遞一個數組作為一個參數,返回數組中當前元素的鍵/值對,並向後移動數組指針到下一個元素的位置。
list()函數,這不是一個真正的函數,是PHP的語言結構。 list()用一步操作給一組變數賦值。
實例程式碼:
<?php header("Content-Type: text/html; charset=utf-8"); //定义循环的数组 $arr = array('website'=>'//m.sbmmt.com','webname'=>'php中文网'); while(list($k,$v) = each($arr)){ echo $k.'=>'.$v.'<br />'; } ?>
輸出:
website=>//m.sbmmt.com webname=>php中文网
#更多相關知識,請造訪 PHP中文網路! !
以上是php怎麼遍歷陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!