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 相关文章推荐
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
joomla组件开发入门教程
May 04 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 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 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
详解Django中的过滤器
2015/07/16 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
python如何安装下载后的模块
2020/07/03 Python
python爬取音频下载的示例代码
2020/10/19 Python
应届生的求职推荐信范文
2013/11/30 职场文书
关于运动会的稿件
2014/02/02 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
运动会通讯稿200字
2015/07/20 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js