PHP二维索引数组的遍历实例分析【2种方式】
本文实例讲述了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、
总结:以上就是通过for循环及foreach()对二维索引数组进行遍历,当然肯定还有其他办法,但以上两种最为常用、效率最高。
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- springboot任务之邮件任务
- springboot安全之整合spring security实现(只有登录才有权限、不同用户显示不同内容、记住我)
- springboot任务之异步任务
- springboot缓存之@Cacheable中常用参数
- springboot开发之添加员工
- springboot分布式之整合zookeeper和dubbo
- springboot之热部署
- c++之内存模型
- springboot消息之AmqpAdmin管理组件的使用
- springtboot缓存之@CacheEvict
- vscode下搭建vue.js开发环境(基于最新的@Vue/cli 4.2.2)
- Unrecognised tag: 'snapshotPolicy'
- spinrgboot缓存之缓存抽象(缓存初步体验)
- springboot之快速构建springboot应用
- NLP简报(Issue#4)