PHP二维索引数组的遍历实例分析【2种方式】


Posted in PHP onJune 24, 2019

本文实例讲述了PHP二维索引数组的遍历。分享给大家供大家参考,具体如下:

二维索引数组的遍历方式,话不多说,直接看代码。

实例一、

<?php
$arr = array(//定义外层数组
  array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1
  array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2
  array(3,'峰某','C公司','天津市','(022)24680246','fm@mysql.com'), //子数组3
  array(4,'书某','D公司','重庆市','(023)13579135','sm@php.com')   //子数组4
  );
  for($row=0;$row<count($arr);$row++){
    for($col=0;$col<count($arr[$row]);$col++){
      echo $arr[$row][$col]."</br>";
    }
  }
?>

运行结果:

1
高某
A公司
北京市
(010)987654321
gm@Linux.com
2
洛某
B公司
上海市
(021)123456789
lm@apache.com
3
峰某
C公司
天津市
(022)24680246
fm@mysql.com
4
书某
D公司
重庆市
(023)13579135
sm@php.com

代码解释:

1、第一个for循环,对$arr数组进行子元素遍历,主要遍历$arr数组的行
2、第二个for循环,对$arr数组下面的子数组进行遍历,主要遍历$arr数组的列
3、实际上我们可以把二维数组理解为一张表格,有行、有列,这样有很好的理解循环了

实例二、

采用foreach循环进行对二维数组的遍历

<?php
$arr = array(//定义外层数组
  array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1
  array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2
  array(3,'峰某','C公司','天津市','(022)24680246','fm@mysql.com'), //子数组3
  array(4,'书某','D公司','重庆市','(023)13579135','sm@php.com')   //子数组4
  );
  foreach($arr as $key=>$arr_item){
    echo $key."====";  //取出外层数组$arr的下标
    echo "<pre>";
    print_r($arr_item); //$arr_item就是子数组了
    echo "</pre>";
    foreach($arr_item as $col){
      echo $col;
    }
  }
?>

运行结果:

0====
Array
(
    [0] => 1
    [1] => 高某
    [2] => A公司
    [3] => 北京市
    [4] => (010)987654321
    [5] => gm@Linux.com
)

1高某A公司北京市(010)987654321gm@Linux.com1====
Array
(
    [0] => 2
    [1] => 洛某
    [2] => B公司
    [3] => 上海市
    [4] => (021)123456789
    [5] => lm@apache.com
)

2洛某B公司上海市(021)123456789lm@apache.com2====
Array
(
    [0] => 3
    [1] => 峰某
    [2] => C公司
    [3] => 天津市
    [4] => (022)24680246
    [5] => fm@mysql.com
)

3峰某C公司天津市(022)24680246fm@mysql.com3====
Array
(
    [0] => 4
    [1] => 书某
    [2] => D公司
    [3] => 重庆市
    [4] => (023)13579135
    [5] => sm@php.com
)

4书某D公司重庆市(023)13579135sm@php.com

代码解释:

1、foreach效率相对for循环高,因为foreach是PHP中数组及对象遍历的专用函数
2、$key,取出外层数组$arr的下标
3、$arr_item就是子数组(子数组1,子数组2…..)
4、通过外层数组的下标,对相应子数组进行遍历,其实有点降维的意思。

总结:以上就是通过for循环及foreach()对二维索引数组进行遍历,当然肯定还有其他办法,但以上两种最为常用、效率最高。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
聊天室php&amp;mysql(二)
Oct 09 PHP
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
Php-Redis安装测试笔记
Mar 05 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
php图片上传类 附调用方法
May 15 PHP
PHP图片水印类的封装
Jul 06 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
PHP中的self关键字详解
Jun 23 #PHP
php面向对象程序设计入门教程
Jun 22 #PHP
PHP字符串中抽取子串操作实例分析
Jun 22 #PHP
微信公众号之主动给用户发送消息功能
Jun 22 #PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 #PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 #PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 #PHP
You might like
也谈截取首页新闻 - 范例
2006/10/09 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery动态添加
2016/04/07 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
wxpython 学习笔记 第一天
2009/03/16 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
生物科学系大学生的自我评价
2013/12/20 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript