一、什麼是多維數組
在 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 "Name Age Grade ";
foreach ($students as $v){
echo "".$v['name']." ".$v['age']." ".$v['grade']." ";
}
echo "
";
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/zh-hant/n/330565.html