PHP中的多維數組【附實例】

已發表: 2020-11-24

當我們談論在 PHP 中存儲值時,我們談論的是單詞數組。 要存儲多個值,有兩種執行任務的方法。 一種方法是將每個值分配給單個變量,另一種更有效的方法是將多個值分配給單個變量。 也就是我們所說的數組。

數組是一種在單個變量中存儲多個值的方法。 因此,數組構成了編程社區首選工具的重要組成部分。 數組既可以存儲數字值也可以存儲字符串值,並且可以具有多個維度。

因此,多維數組在 PHP中稱為多維數組,我們將在本文後面通過動手示例詳細討論。

為了更好地了解數組是什麼及其維度,讓我們看一個例子。

假設你去超市買了一包餅乾。 當你打開包裝時,餅乾一個接一個地排成一排。 這意味著它們以線性方式排列,因此,這是一維數組的示例。

接下來,您考慮購買一包什錦乾果。 現在,當您打開包裝時,盒子的寬度和長度都有插槽,用於存放不同的干果。 這形成了一個二維數組的示例,其中框表示數組,插槽中的干果構成元素。

閱讀: PHP 項目理念和主題

類型和特徵

當我們談論數組時,我們用兩個術語來談論它們——數組是什麼類型,它的特徵或屬性是什麼。 數組的類型由它的維度定義。 因此,PHP中有兩種類型:一維或一維和多維數組

正如上面示例中已經解釋的那樣,您一定已經了解了數組的維度。 因此,要訪問一個元素是一個一維數組,您只需要一個索引。

但是要在 PHP 中訪問多維數組中的元素,您需要兩個索引用於二維數組,三個索引用於三維數組,依此類推。 因此,視情況而定,多維數組被定義為數組或子數組的數組。

數組的特徵可以分為數值型或關聯型。

  • 數值數組是一個數組,它使用數字來訪問其存儲在數組中的元素。
  • 關聯數組使用字符串或名稱來訪問存儲的元素。 例如,員工的姓名可以訪問公司註冊或服務器中的數據。

以下是定義一維數值數組的語法:

<?php

$variable name = array('index no.' => 'element',...);

?>

在哪裡,

'$variable name' 是數組的名稱

'索引號' 指存儲元素的索引

“元素”是指存儲的值

請注意,默認索引號始終以“0”開頭。

讓我們看一個例子

<?php

//創建一維數值數組的程序

$Car Brands = 數組 ( 0 => 'BMW',

1 => '路虎',

2 => '法拉利',

3 => '福特',

4 => '豐田' );

Print_r($汽車品牌);

?>

輸出:

大批

(

[0] => 寶馬

[1] => 路虎

[2] => 法拉利

[3] => 福特

[4] => 豐田

)

從輸出中我們可以看到,汽車品牌被分配給數字鍵 0、1、2、……等,並通過數字鍵訪問。

我們來看一個一維關聯數組; 以下是相同的語法:

<?php

$variable name = array('string/key' => 'element',...);

?>

在哪裡,

'$variable name' 是數組的名稱

'string/key' 指的是存儲元素的 id

“元素”是指存儲的值

這是關聯一維數組的示例。 假設我們要存儲幾個國家的名稱和它們所在的大陸。

<?php

$Countries = 數組(

“意大利” => “歐洲”,

“印度” => “亞洲”,

“巴西” => “南美洲”

“墨西哥” => “北美”,

);

echo “墨西哥在”$Countries [“Mexico”];

?>

輸出:

墨西哥位於北美洲

現在是時候了解PHP 中的多維數組是如何工作的了。 這是語法。

<?php

$變量名 =array(

Array1('字符串/鍵' => '元素',...),

Array2('字符串/鍵' => '元素',...),...

);

?>

我們可以按照組或模式排列數組。 例如,我們可以根據車型的體型來排列車型。 這是一個示例代碼。

<?php

$車身樣式=數組(

“SUV” => 數組(“天蠍座”、“鷂”、“克里塔”、“塞爾托斯”、“財神”),

“掀背車” => 數組(“斯威夫特”、“爵士”、“蒂亞戈”、“i20”)'

“MPV” => 數組(“Ertiga”、“Innova”、“Triber”)

);

Echo $車身樣式[“SUV”][3];

?>

輸出:

克里塔

讓我們通過在前面的示例中添加銷售數據來快速創建一個 3 維數組。

<?php

$車身樣式=數組(

“SUV” => 數組(

“天蠍座” => 數組(“1 月 20 日” =>“4521”,“2 月 20 日” => “3589”),

“鷂” => 數組(“1 月 20 日” =>“1987”,“2 月 20”=> “2356”),

“Creta” => 數組(“1 月 20 日” => “10459”,“2 月 20 日” => “9887”),

“Seltos” => 數組(“1 月 20 日” => “12549”,“2 月 20 日” => “13589”),

“Fortuner” => 數組(“1 月 20 日” => “1897”,“2 月 20” => “1692”),

),

“掀背車” => 數組(

“斯威夫特” => 數組(“1 月 20 日” =>“19875”,“2 月 20” => “18521”),

“爵士樂” => 數組(“1 月 20 日” =>“2451”,“2 月 20 日”=> “2390”),

“Tiago” => 數組(“1 月 20 日” => “6587”,“2 月 20 日” => “8850”),

),

“MPV” => 數組(

“Ertiga” => 數組(“1 月 20 日” =>“5680”,“2 月 20 日” => “4920”),

“Innova” => 數組(“1 月 20 日” =>“2540”,“2 月 20 日”=> “2135”)

);

Echo “1 月 20 日 Creta 的銷量為” $Car body styles[“SUV”][“Creta”][“Jan20”];

?>

輸出:

1 月 20 日 Creta 的汽車銷量為 10459

必讀: PHP 面試問答

結論

因此,我們可以得出結論,數組是一種高效且靈活的數據存儲和訪問形式。 數組可以根據需要進行拉伸或壓縮,便於修改。 關聯多維數組幫助我們將相關數據組合在一起。 除此之外,數組有助於實現整潔和乾淨的代碼。 另外,您可以對數組執行許多操作,例如排序、計數等。

如果您有興趣了解有關 PHP、全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發 PG 文憑,該文憑專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

成為全棧開發人員

升級和 IIIT-BANGALORE 的 PG 文憑在全棧軟件開發中
了解更多