PHP多维数组基础入门

一、什么是多维数组

在 PHP 中,数组可以存储一个或多个值。如果数组中的每个元素也是数组,那么就形成了多维数组。多维数组的每个元素都是一个数组,这个数组里又包含了其他的数组,可以想象成一个数组的嵌套。

多维数组的层数没有固定的限制,但是为了避免过度嵌套导致代码可读性变差,我们应该选择恰当的层数和数组内部的结构。多维数组的读取方式与一维数组相似,可以通过索引或者键名来访问其元素,其中键名可以是一个字符串或者数字。

以下是一个二维数组的例子:


$food = array(
    array("name"=>"apple", "color"=>"red"),
    array("name"=>"banana", "color"=>"yellow"),
    array("name"=>"mango", "color"=>"orange")
);
echo $food[0]['name'];    // 输出:apple
echo $food[1]['color'];    // 输出:yellow

二、多维数组的创建

多维数组的创建方式不仅可以使用array()函数,也可以使用方括号[],通过指定多个数组元素的索引或键名,来创建多维数组。

以下是几种创建多维数组的方式:


// 使用array()函数创建二维数组
$food = array(
    array("name"=>"apple", "color"=>"red"),
    array("name"=>"banana", "color"=>"yellow"),
    array("name"=>"mango", "color"=>"orange")
);

// 使用方括号[]创建二维数组
$food = [
    ["name"=>"apple", "color"=>"red"],
    ["name"=>"banana", "color"=>"yellow"],
    ["name"=>"mango", "color"=>"orange"]
];

// 创建三维数组
$threeDArray = [
    [
        ["value1", "value2"],
        ["value3", "value4"],
    ],
    [
        ["value5", "value6"],
        ["value7", "value8"],
    ]
];

三、多维数组的操作

1. 添加元素

通过指定索引或键名,可以添加元素到多维数组中。

以下是添加元素的代码:


// 添加元素到二维数组
$food[3] = ["name"=>"pear", "color"=>"yellow-green"];

// 添加元素到三维数组
$threeDArray[1][2] = ["value9", "value10"];

2. 删除元素

要删除多维数组中的一个元素,可以使用unset()函数。使用unset()时,需要指定待删除元素的索引或键名。

以下是删除元素的代码:


// 删除二维数组中的第一个元素
unset($food[0]);

// 删除三维数组中的第二个元素
unset($threeDArray[1][1]);

3. 修改元素

与添加元素一样,修改元素也只需要指定多维数组的索引或键名,然后修改其值即可。

以下是修改元素的代码:


// 修改二维数组中的第二个元素
$food[1]["name"] = "orange";

// 修改三维数组中的第一个元素和第一个子元素
$threeDArray[0][0][0] = "value11";

4. 遍历数组

要遍历一个多维数组,可以使用for循环或foreach循环。

以下是遍历二维数组的代码:


for ($i=0; $i<count($food); $i++){
    echo $food[$i]['name']."
"; } foreach ($food as $v){ echo $v['color']."
"; }

以下是遍历三维数组的代码:


for ($i=0; $i<count($threeDArray); $i++){
    for ($j=0; $j<count($threeDArray[$i]); $j++){
        for ($k=0; $k<count($threeDArray[$i][$j]); $k++){
            echo $threeDArray[$i][$j][$k]."
"; } } } foreach ($threeDArray as $v){ foreach ($v as $u){ foreach ($u as $w){ echo $w."
"; } } }

四、多维数组的应用场景

多维数组可以应用在很多方面,以下列举一些常见的应用场景:

1. 二维数组实现表格输出

二维数组可以将表格中的数据存储到数组中,然后通过循环遍历来输出表格。


$students = [
    ["name"=>"John", "age"=>18, "grade"=>85],
    ["name"=>"Jane", "age"=>19, "grade"=>90],
    ["name"=>"Jack", "age"=>20, "grade"=>88],
    ["name"=>"Jill", "age"=>19, "grade"=>91]
];
echo "";
echo "";
foreach ($students as $v){
    echo "";
}
echo "
NameAgeGrade
".$v['name']."".$v['age']."".$v['grade']."
";

2. 三维数组实现联动选择框

三维数组可以将联动选择框中的选项存储到数组中,然后通过JavaScript来实现联动选择。


$cities = [
    "江苏省" => [
        "南京市" => ["玄武区", "白下区", "建邺区"],
        "无锡市" => ["崇安区", "北塘区", "惠山区"]
    ],
    "广东省" => [
        "广州市" => ["荔湾区", "越秀区", "海珠区"],
        "深圳市" => ["福田区", "罗湖区", "宝安区"]
    ]
];

echo "";
foreach ($cities as $k=>$v){
    echo "".$k."";
}
echo "";

echo "";
foreach ($cities["江苏省"] as $k=>$v){
    echo "".$k."";
}
echo "";

echo "";
foreach ($cities["江苏省"]["南京市"] as $k=>$v){
    echo "".$v."";
}
echo "";

以上是对PHP多维数组基础入门的详细阐述,通过实例代码的讲解,可以更好地理解多维数组的相关知识,希望对大家有所帮助。

原创文章,作者:CEPQF,如若转载,请注明出处:https://www.506064.com/n/330565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CEPQFCEPQF
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • Python wordcloud入门指南

    如何在Python中使用wordcloud库生成文字云? 一、安装和导入wordcloud库 在使用wordcloud前,需要保证库已经安装并导入: !pip install wo…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python小波分解入门指南

    本文将介绍Python小波分解的概念、基本原理和实现方法,帮助初学者掌握相关技能。 一、小波变换概述 小波分解是一种广泛应用于数字信号处理和图像处理的方法,可以将信号分解成多个具有…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • 数据结构与算法基础青岛大学PPT解析

    本文将从多个方面对数据结构与算法基础青岛大学PPT进行详细的阐述,包括数据类型、集合类型、排序算法、字符串匹配和动态规划等内容。通过对这些内容的解析,读者可以更好地了解数据结构与算…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • 树莓派DIY无人机一:制作基础

    本文将介绍如何使用树莓派制作一个可飞行的小型无人机。本文将介绍树莓派的选型、比例积木的使用、无线电通信以及如何控制飞行器的基本运动。 一、树莓派的选型 在DIY无人机中,树莓派是必…

    编程 2025-04-29
  • Python零基础PDF下载

    本文将为大家介绍如何使用Python下载PDF文件,适合初学者上手实践。 一、安装必要的库 在Python中,我们需要使用urllib和requests库来获取PDF文件的链接,并…

    编程 2025-04-29

发表回复

登录后才能评论