php遍历数组的几种方法(for foreach list each while)

发布时间:2020-11-11编辑:脚本学堂
本文介绍下,php中遍历数组的几种方法,包括for循环方法、foreach语句方法、list方法等。供大家学习参考。

PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
效率最高的是使用foreach语句遍历数组。

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

复制代码 代码示例:
<?php
$arr = array('http://www.jb200.com','脚本学堂','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也是为了提高效率。
输出结果:
http://www.jb200.com
脚本学堂
PHP教程

二、foreach语句遍历数组
使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下:
第一种方式:
foreach(array_expression as $value){
//循环体
}
例子:
 

复制代码 代码示例:
<?php
$arr = array('http://www.jb200.com','脚本学堂','PHP教程');
foreach($arr as $value){
echo $value.'<br />';
}
?>
 

每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。
所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。

第二种方式:
foreach(array_expression as $key=>$value){
//循环体
}

例子:
 

复制代码 代码示例:
<?php
//定义数组
$arr = array('http://www.jb200.com','脚本学堂','PHP教程');
foreach($arr as $k=>$v){
echo $k."=>".$v."<br />";
}
?>

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

例子:
 

复制代码 代码示例:
<?php
//定义循环的数组
$arr = array('website'=>'http://www.jb200.com','webname'=>'脚本学堂')
while(list($k,$v) = each($arr)){
echo $k.'=>'.$v.'<br />';
}
?> jb200.com

输出结果:
 

website=>http://www.jb200.com
webname=>PHP程序员

总结:三种方法中,foreach语句循环遍历数组,效率更高。推荐使用。