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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP经典面试题集锦
Mar 19 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
PHP实现生成数据字典功能示例
May 24 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
php写入txt乱码的解决方法
Sep 17 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
php实现修改新闻时删除图片的方法
2015/05/12 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python类的动态修改的实例方法
2017/03/24 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
C语言中break与continue的区别
2012/07/12 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
科研课题实施方案
2014/03/18 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
欠条格式范本
2015/07/03 职场文书