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

下面是详细的攻略:

什么是多维数组

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

例如:$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日

相关文章

  • 微信小程序实现签到功能

    下面我将讲解如何在微信小程序中实现签到功能。 一、项目搭建1. 创建一个新的微信小程序项目2. 在 app.json 中配置 tabBar,方便用户在小程序中切换签到页面与其他页面 二、签到页面设计1. 在 pages 文件夹下创建一个签到页面 sign-in,以及一个签到成功页面 sign-in-success2. 在 sign-in 页面中,设置倒计时以…

    PHP 2023年5月23日
    00
  • PHP开启gzip页面压缩实例代码

    下面是详细的“PHP开启gzip页面压缩实例代码”的攻略。 什么是gzip压缩? GZip是GNU zip格式(GNU程序的一部分)。例如,Firefox发出一个HTTP请求以请求HTML,CSS和JavaScript文件。发送服务器的响应是类似的,其中包含HTML,CSS和JavaScript文件。当gzip被启用时,服务器将压缩响应的内容并将其发送回浏览…

    PHP 2023年5月26日
    00
  • 可以在线执行PHP代码包装修正版

    安装必要的开发环境首先需要安装PHP的运行环境以及Apache或Nginx服务器,以便可以本地运行PHP代码并进行测试。推荐使用Windows环境下的XAMPP或者MacOS环境下的MAMP等集成开发环境,可以方便的一次性安装PHP、Apache以及MySQL等必要的开发环境。 下载可执行文件可以找到一个PHP在线执行器的GitHub项目或其他可供下载的可执…

    PHP 2023年5月23日
    00
  • 基于php+webuploader的大文件分片上传,支持断点续传,带进度条

    基于php+webuploader的大文件分片上传,带进度条,支持断点续传(刷新、关闭页面、重新上传、网络中断等情况)。文件上传前先检测该文件是否已上传,如果已上传提示“文件已存在”,如果未上传则直接上传。视频上传时会根据设定的参数(分片大小、分片数量)进行上传,上传过程中会在目标文件夹中生成一个临时文件夹,用于存储临时分片,等所有分片上传完毕后,会根据序号…

    PHP 2023年4月18日
    00
  • 微信小程序-form表单提交代码实例

    微信小程序-form表单提交代码实例攻略 在微信小程序中,我们可以使用form表单来收集用户的信息,并将其提交到指定的接口进行处理。本文将详细讲解如何创建和使用form表单,在提交数据时如何处理和验证数据,以及如何处理提交的结果。 创建form表单 要创建一个form表单,我们需要在wxml文件中使用form标签,例如: <form bindsubmi…

    PHP 2023年5月23日
    00
  • 微信小程序实现长按删除图片的示例

    下面是完整的攻略,包括示例说明: 实现长按删除图片功能的原理 在微信小程序中,我们可以通过使用 longpress 事件来捕获用户长按某个图片元素的动作,并通过 wx.showActionSheet 函数弹出一个菜单,提示用户是否要删除该图片。具体代码如下: <view> <image src="{{imageSrc}}&quot…

    PHP 2023年5月30日
    00
  • PHP之预定义接口详解

    PHP之预定义接口详解 什么是预定义接口 PHP中的预定义接口是指在类的内部定义特定的方法,以实现与其他对象或系统交互的标准化方式。这些接口已经在PHP中定义好了,并且拥有了相应的语法和特性。实现这些预定义接口可以使你的类可以更好的兼容PHP中的其他类和系统。 下面我们详细介绍几个常用的PHP预定义接口及其实现方法。 Iterator Iterator接口是…

    PHP 2023年5月26日
    00
  • PHP开发规范手册之PHP代码规范详解

    针对“PHP开发规范手册之PHP代码规范详解”的完整攻略,我来详细阐述一下。该攻略主要分为两大部分,第一部分是对PHP代码规范的介绍,第二部分是示例说明。 第一部分:PHP代码规范介绍 PHP代码规范旨在提高代码质量,使其更易于理解、维护和扩展。下面是PHP代码规范的主要内容: 1. 缩进规范 采用4个空格缩进; 不使用Tab制表符。 2. 命名规范 变量、…

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