您的位置:

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
   ";
}

foreach ($food as $v){
    echo $v['color']."
    
"; }

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


for ($i=0; $i
   ";
        }
    }
}

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 "
    
Name Age Grade
".$v['name']." ".$v['age']." ".$v['grade']."
";

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

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


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

echo "";

echo "";

echo "";

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