PHP遍历数组的几种方法
2015-01-24信息快讯网
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法
PHP中遍历数组有三种常用的方法:一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。
一、使用for语句循环遍历数组
值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。
实例代码如下:
<?php $arr = array('http://www.jb51.net','脚本之家','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.jb51.net
脚本之家
PHP教程
二、使用foreach语句遍历数组
使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下:
第一种方式:
foreach(array_expression as $value){
//循环体
}
实例代码:
<?php $arr = array('http://www.jb51.net','脚本之家','PHP教程'); foreach($arr as $value){ echo $value.'<br />'; } ?>
每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。
第二种方式:
foreach(array_expression as $key=>$value){
//循环体
}
实例代码:
<?php //定义数组 $arr = array('http://www.jb51.net','脚本之家','PHP教程'); foreach($arr as $k=>$v){ echo $k."=>".$v."<br />"; } ?>
三、联合使用list()、each()和while循环遍历数组
each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。
list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。
实例代码:
<?php //定义循环的数组 $arr = array('website'=>'http://www.jb51.net','webname'=>'脚本之家') while(list($k,$v) = each($arr)){ echo $k.'=>'.$v.'<br />'; } ?> jb51.net
输出结果为:
website=>http://www.jb51.net
webname=>PHP程序员
总结:上述三种循环遍历数组的方法中建议大家使用foreach语句循环遍历数组,效率更高。
VIM中设置php自动缩进为4个空格的方法详解
修改php.ini不生效问题解决方法(上传大于8M的文件)
与文件上传有关的php配置参数总结
使用PHP计算两个路径的相对路径
深入解析PHP的引用计数机制
判断php数组是否为索引数组的实现方法
如何判断php数组的维度
使用迭代器 遍历文件信息的详解
利用php递归实现无限分类 格式化数组的详解
php遍历所有文件及文件夹的方法深入解析
探讨php中遍历二维数组的几种方法详解
基于PHP遍历数组的方法汇总分析
深入for,while,foreach遍历时间比较的详解
php地址引用(php地址引用的效率问题)
php遍历数组的方法分享
php中大括号作用介绍
那些年一起学习的PHP(三)
那些年一起学习的PHP(二)
那些年一起学习的PHP(一)
php 删除一个数组中的某个值.兼容多维数组!
PHP中使用数组实现堆栈数据结构的代码
PHP使用数组实现队列
PHP对象转换为数组函数(递归方法)
遍历指定目录下的所有目录和文件的php代码
使用PHP遍历文件夹与子目录的函数代码
php若干单维数组遍历方法的比较
PHP中遍历stdclass object的实现代码