PHP中多维数组的foreach遍历示例

yizhihongxing

下面是详细的攻略:

什么是多维数组

多维数组是指数组中包含有其他数组的数组,即数组的元素又是一个数组。

例如:$arr = array( array('name'=>'张三', 'age'=>20), array('name'=>'李四', 'age'=>22), array('name'=>'王五', 'age'=>25) )

上面的数组$arr是一个二维数组,其元素为三个一维数组。而每个一维数组中又有两个键值对,分别为name和age。

foreach遍历多维数组

在使用foreach遍历多维数组时可以使用嵌套的循环结构。

以下是一段遍历二维数组的例子:

$arr = array( array('name'=>'张三', 'age'=>20), array('name'=>'李四', 'age'=>22), array('name'=>'王五', 'age'=>25) );

foreach($arr as $key => $value){
    echo "第".$key."个人的信息如下:"."<br>";
    foreach($value as $k => $v){
        echo $k.":".$v."<br>";
    }
    echo "<hr>";
}

代码解释:

  • 第一行定义了一个二维数组$arr
  • 第三行使用foreach遍历数组,$arr中的每一个元素都会被分别传递给变量$value和$key
  • 第四行输出当前是第几个元素
  • 第五行使用foreach遍历每个一维数组中的元素,并将每个元素依次传递给变量$v和$k
  • 第六行输出元素的键和值
  • 第七行换行,用于分隔不同元素
  • 第八行输出分割线,用于分隔不同元素

输出结果:

第0个人的信息如下:
name:张三
age:20
-------------------------------
第1个人的信息如下:
name:李四
age:22
-------------------------------
第2个人的信息如下:
name:王五
age:25
-------------------------------

需要注意的是,这里使用了两个foreach循环嵌套,如果要遍历更高维度的数组,嵌套的foreach循环也会相应增加。

以下是一段遍历三维数组的例子:

$arr = array(
    array(
        array('name'=>'张三', 'age'=>20, 'hobby'=>array('篮球','游泳')),
        array('name'=>'李四', 'age'=>22, 'hobby'=>array('乒乓球','羽毛球')),
    ),
    array(
        array('name'=>'王五', 'age'=>25, 'hobby'=>array('唱歌','跳舞')),
        array('name'=>'赵六', 'age'=>18, 'hobby'=>array('摄影','旅行')),
    ),
);

foreach($arr as $key => $value1){
    echo "第".$key."个大区域的信息如下:"."<br>";
    foreach($value1 as $k => $v1){
        echo "第".$k."个小区域的信息如下:"."<br>";
        foreach($v1 as $k2 => $v2){
            if(is_array($v2)){
                echo $k2."的信息如下:"."<br>";
                foreach($v2 as $k3 => $v3){
                    echo "爱好".($k3+1)."为:".$v3."<br>";
                }
            } else {
                echo $k2.":".$v2."<br>";
            }
        }
        echo "<hr>";
    }
    echo "<hr>";
}

输出结果:

第0个大区域的信息如下:
第0个小区域的信息如下:
name:张三
age:20
hobby的信息如下:
爱好1为:篮球
爱好2为:游泳
-------------------------------
第1个小区域的信息如下:
name:李四
age:22
hobby的信息如下:
爱好1为:乒乓球
爱好2为:羽毛球
-------------------------------
-------------------------------
第1个大区域的信息如下:
第0个小区域的信息如下:
name:王五
age:25
hobby的信息如下:
爱好1为:唱歌
爱好2为:跳舞
-------------------------------
第1个小区域的信息如下:
name:赵六
age:18
hobby的信息如下:
爱好1为:摄影
爱好2为:旅行
-------------------------------
-------------------------------

在遍历多维数组时,尽量使用语义化的变量名和注释,能够更好的防止代码出错,也方便日后维护。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP中多维数组的foreach遍历示例 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 微信小程序动态显示项目倒计时效果

    要实现微信小程序动态显示项目倒计时效果,首先需要了解如何使用小程序API和JavaScript实现计时器功能。 第一步:获取倒计时时间 需要在小程序页面中定义一个变量,用于存储倒计时的总时间,例如: var totalSeconds = 300; // 倒计时总秒数,这里是5分钟,可以根据需求进行设置 第二步:设置计时器 使用setInterval函数来定时…

    PHP 2023年5月23日
    00
  • php实现断点续传大文件示例代码

    下面是实现PHP断点续传大文件的完整攻略。 一、需求分析 在处理上传较大的文件时,一般会遇到上传过程中断、上传速度慢等情况。为此,需要实现断点续传功能,以提高上传效率。 二、实现步骤 判断是否是首次上传文件。 根据请求头中的Range字段,获取已上传的文件大小。 如果是首次上传文件或读取上次上传进度失败,那么从开始处上传;否则,从当前已上传的位置继续上传。 …

    PHP 2023年5月27日
    00
  • 几篇关于无限分类算法的文章

    想要了解无限分类算法,首先需要了解什么是分类和分类算法。 分类和分类算法 分类是指将事物按照某种标准或属性分成若干类别的过程或结果。在编程领域中,分类可以用来对数据进行归纳,从而方便进行查询和处理。 分类算法则是特指一种通过算法和规则来将数据进行分类的技术。常见的分类算法包括决策树、支持向量机等。 无限分类算法 无限分类指的是可以无限嵌套的分类,即每个分类可…

    PHP 2023年5月26日
    00
  • php和asp利用Shell.Application来执行程序的代码

    利用Shell.Application可以让PHP和ASP执行本地系统的一些命令和程序,下面将详细讲解利用Shell.Application来执行程序的攻略。 准备工作 在使用Shell.Application之前,需要先确保服务器端的操作系统已经安装了COM组件。对于Windows系统,这个组件通常都是默认安装的。 使用Shell.Application启…

    PHP 2023年5月23日
    00
  • 微信小程序引用公共js里的方法的实例详解

    讲解“微信小程序引用公共js里的方法的实例详解”的攻略。 什么是微信小程序 微信小程序是一种新型的应用开发方式,它基于微信生态体系,具有“无需下载、易于传播、快捷启动、即点即用”等优势,适合于轻量级应用的开发、使用和传播。 微信小程序引用公共js的方法 为提高代码重用性,有时我们会把一些通用的代码方法放到公共的js文件里,那么如何在小程序中调用这些方法呢? …

    PHP 2023年5月23日
    00
  • thinkPHP简单遍历数组方法分析

    下面是“thinkPHP简单遍历数组方法分析”的完整攻略: 标题 ThinkPHP 简单遍历数组方法 正文 在 ThinkPHP 中,可以通过以下两种方式简单地遍历数组: 1. foreach 循环遍历数组 $students = [‘小明’, ‘小红’, ‘小刚’]; foreach ($students as $student) { echo &quot…

    PHP 2023年5月26日
    00
  • 谈谈PHP的输入输出流

    PHP 的输入输出流是指 PHP 程序中读取或输出数据的方式。主要包括标准输入、标准输出、标准错误和文件输入输出。本文将详细讲解 PHP 输入输出流的相关知识。 标准输入 标准输入是指 PHP 程序从键盘或其它输入设备中获取数据的方式。在 PHP 中,可以使用 fgets(STDIN) 从标准输入读取一行数据。下面是一个简单的示例: echo ‘请输入你的姓…

    PHP 2023年5月26日
    00
  • php合并数组并保留键值的实现方法

    当我们需要将两个或多个数组合并为一个数组时,可以使用PHP的array_merge()函数。但是,array_merge()函数会重置键名,如果这个键已经被设置,将会被重置为0。所以,如果想要保留键名,可以使用array_replace()函数。以下是使用array_replace()函数进行数组合并并保留键值的实现方法攻略: 第一步:准备数组 我们需要准备…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部