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/zh-hant/n/330565.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CEPQF的頭像CEPQF
上一篇 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

發表回復

登錄後才能評論