一、什么是多维数组
在 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 "
Name
Age
Grade
";
foreach ($students as $v){
echo "
".$v['name']."
".$v['age']."
".$v['grade']."
";
}
echo "
";
2. 三维数组实现联动选择框
三维数组可以将联动选择框中的选项存储到数组中,然后通过JavaScript来实现联动选择。
$cities = [
"江苏省" => [
"南京市" => ["玄武区", "白下区", "建邺区"],
"无锡市" => ["崇安区", "北塘区", "惠山区"]
],
"广东省" => [
"广州市" => ["荔湾区", "越秀区", "海珠区"],
"深圳市" => ["福田区", "罗湖区", "宝安区"]
]
];
echo "";
echo "";
echo "";
以上是对PHP多维数组基础入门的详细阐述,通过实例代码的讲解,可以更好地理解多维数组的相关知识,希望对大家有所帮助。