PHP遍历数组的几种方法


Posted in PHP onMarch 22, 2012

PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。

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

<?php 
$arr = array('https://3water.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也是为了提高效率,前面有文章我们提到过,建议大家再看看。
上面代码的输出结果为:
https://3water.com
三水点靠木
PHP教程

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

<?php 
$arr = array('https://3water.com','三水点靠木','PHP教程'); 
foreach($arr as $value){ 
echo $value.'<br />'; 
} 
?>

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

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

<?php 
//定义数组 
$arr = array('https://3water.com','三水点靠木','PHP教程'); 
foreach($arr as $k=>$v){ 
echo $k."=>".$v."<br />"; 
} 
?>

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

实例代码:

<?php 
//定义循环的数组 
$arr = array('website'=>'https://3water.com','webname'=>'三水点靠木') 
while(list($k,$v) = each($arr)){ 
echo $k.'=>'.$v.'<br />'; 
} 
?> 3water.com

输出结果为:
website=>https://3water.com
webname=>PHP程序员

总结:上述三种循环遍历数组的方法中建议大家使用foreach语句循环遍历数组,效率更高。

PHP 相关文章推荐
自己前几天写的无限分类类
Feb 14 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
Apr 01 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
php判断IP地址是否在多个IP段内
Aug 18 PHP
php遍历数组的方法分享
Mar 22 #PHP
php中大括号作用介绍
Mar 22 #PHP
那些年一起学习的PHP(三)
Mar 22 #PHP
那些年一起学习的PHP(二)
Mar 21 #PHP
那些年一起学习的PHP(一)
Mar 21 #PHP
ecshop 批量上传(加入自定义属性)
Mar 20 #PHP
批量去除PHP文件中bom的PHP代码
Mar 13 #PHP
You might like
使用php shell命令合并图片的代码
2011/06/23 PHP
分页栏的web标准实现
2011/11/01 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
jQuery Validate表单验证深入学习
2015/12/18 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
Python中统计函数运行耗时的方法
2015/05/05 Python
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python中的字符串替换操作示例
2016/06/27 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python I/O与进程的详细讲解
2019/03/08 Python
Python初学者常见错误详解
2019/07/02 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
如何解决python多种版本冲突问题
2020/10/13 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
简历的自我评价
2014/02/03 职场文书
安全保证书范文
2014/04/29 职场文书
学校安全责任书范本
2014/07/23 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
六年级作文之预言作文
2019/10/25 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技