PHP中遍历数组有三种常用的方法:

  • 使用for语句循环遍历数组;
  • 使用foreach语句遍历数组;
  • 联合使用list()、each()和while循环遍历数组;

这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。

使用for语句循环遍历数组

值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。

实例代码如下:

<?php 
$arr = array('one','two','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也是为了提高效率,前面有文章我们提到过,建议大家再看看。
上面代码的输出结果为:
one
two
PHP

使用foreach遍历

<?php 
$arr = array('one','two','PHP'); 
foreach($arr as $value){ 
echo $value.'<br />'; 
} 
?> 

<?php 
//定义数组 
$arr = array('one','two','PHP'); 
foreach($arr as $k=>$v){ 
echo $k."=>".$v."<br />"; 
} 

联合使用list()、each()和while循环遍历数组

each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。
list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。

<?php 
//定义循环的数组 
$arr = array('website'=>'one','webname'=>'two') 
while(list($k,$v) = each($arr)){ 
echo $k.'=>'.$v.'<br />'; 
} 
?>
Last modification:January 4, 2020
如果觉得我的文章对你有用,请随意赞赏