PHP的幾種遍歷方法


PHP常用的遍歷方法有三種,foreach,for,list()/each()和while,這三種方法中效率最高的是使用foreach語句遍歷數組

一、使用for語句循環遍歷數組

  值得大家注意的是使用for語句循環遍歷數組要求遍歷的數組必須是索引數組(即通常情況下所說的數組)。PHP中不僅有關聯數組而且還有索引數組,所以PHP中很少用for語句循環遍歷數組。 

<?php 
$arr = array('http://www.cnblogs.com/','博客園','PHP教程'); 
$num = count($arr); 
for($i=0;$i<$num;++$i){ 
echo $arr[$i].'<br />'; 
} 
?>

 

輸出:

http://www.jb51.net
腳本之家
PHP教程

  上例代碼中我們先計算出數組$arr中元素的個數,然后才使用在for語句,這樣做很高效的。因為如果是for($i=0;$i< count($arr);++$i)的話,每次循環都會計算數組$arr中元素的個數,而使用上面的方式可以減去這種開銷。使用++$i也是為了提高效率。

二、使用foreach語句遍歷數組

使用foreach語句循環遍歷數組有二種方式,我們使用的最多的還是第一種方式。介紹如下:

①foreach(array_expression as $value){
//循環體
}

<?php 
$arr = array('http://www.cnblogs.com/','博客園','PHP教程'); 
foreach($arr as $value){ 
echo $value.'<br />'; 
} 
?>

每次循環中,當前元素的值被賦給變量$value,並且把數組內部的指針向后移動一步。所以下一次循環中會得到數組的下一個元素,直到數組的結尾才停止循環,結束數組的遍歷。

②foreach(array_expression as  $key=>$value){
//循環體
}

<?php 
//定義數組 
$arr = array('http://www.cnblogs.com/','博客園','PHP教程'); 
foreach($arr as $k=>$v){ 
echo $k."=>".$v."<br />"; 
} 
?>

三、聯合使用list()、each()和while循環遍歷數組
each()函數需要傳遞一個數組作為一個參數,返回數組中當前元素的鍵/值對,並向后移動數組指針到下一個元素的位置。 list()函數,這不是一個真正的函數,是PHP的一個語言結構。list()用一步操作給一組變量進行賦值。

<?php 
//定義循環的數組 
$arr = array('http://www.cnblogs.com/','博客園','PHP教程'); 
while(list($k,$v) = each($arr)){ 
echo $k.'=>'.$v.'<br />'; 
} 
?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM