首頁 >後端開發 >PHP問題 >php 多維數組是什麼

php 多維數組是什麼

青灯夜游
青灯夜游原創
2023-01-13 18:53:371176瀏覽

在php中,多維數組指的是包含一個或多個數組的數組,例如二維數組就是一維數組裡面再定義多個一維數組。陣列的維度指示您需要選擇元素的索引數,例如二維陣列需要兩個索引來選取元素、三維陣列需要三個索引來選取元素。

php 多維數組是什麼

本教學操作環境:windows7系統、PHP8版、DELL G3電腦

PHP - 多維陣列

多維數組指的是包含一個或多個陣列的陣列。

PHP 能理解兩、三、四或五級甚至更多級的多維數組。不過,超過三級深的陣列對多數人難於管理。

註解:陣列的維度指示您需要選擇元素的索引數。

  • 對於二維數組,您需要兩個索引來選取元素

  • 對於三維數組,您需要三個索引來選取元素

PHP - 兩維陣列

兩維陣列是陣列的陣列(三維陣列是陣列的陣列的陣列的陣列)。

首先,讓我們看看下面的表格:

##銷售#Volvo3320#BMW1715 Saab52#Land Rover1511

我們能夠在兩維數組中儲存上表中的數據,就像這樣:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

現在這個兩維數組包含了四個數組,並且它有兩個索引(下標):列和行.

如需存取$cars 陣列中的元素,我們必須使用兩個索引(行和列):

實例

<?php
header("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   
echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
?>

php 多維數組是什麼

我們也可以在For 迴圈中使用另一個For 迴圈,以獲得$cars 陣列中的元素(我們仍需使用兩個索引):

<?php
header("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   
for ($row = 0; $row <  4; $row++) {
   echo "<p><b>行数 $row</b></p>";
   echo "<ul>";
   for ($col = 0; $col <  3; $col++) {
     echo "<li>".$cars[$row][$col]."</li>";
   }
   echo "</ul>";
}
?>

php 多維數組是什麼

二維陣列的建立方法:

二維陣列和一維陣列的建立方式是一樣的,只是將陣列中元素換成數組即可。同樣有兩種方法:“直接為數組元素賦值”和“array()函數”,下面我們實際的程式碼案例來詳細的給大家介紹一下這兩種方法。

1、直接為數組元素賦值

我們可以透過形如「$數組變數名[行下標] [列下標]= 值;」的格式來建立並初始化二維陣列

<?php
header("Content-type:text/html;charset=utf-8");
$array[0][&#39;姓名&#39;] = &#39;张三&#39;;
$array[0][&#39;年龄&#39;] = &#39;25&#39;;
$array[0][&#39;性别&#39;] = &#39;男&#39;;
$array[1][&#39;姓名&#39;] = &#39;李四&#39;;
$array[1][&#39;年龄&#39;] = &#39;21&#39;;
$array[1][&#39;性别&#39;] = &#39;男&#39;;
$array[2][&#39;姓名&#39;] = &#39;娜娜&#39;;
$array[2][&#39;年龄&#39;] = &#39;22&#39;;
$array[2][&#39;性别&#39;] = &#39;女&#39;;
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

#二維陣列的行下標列下標可以為空(即不指定具體的索引值),那麼預設為數字索引,而索引值預設從0 開始依序增加。

範例1:「列下標」為空

<?php
header("Content-type:text/html;charset=utf-8");
$array[0][] = &#39;张三&#39;;
$array[0][] = &#39;25&#39;;
$array[0][] = &#39;男&#39;;
$array[1][] = &#39;李四&#39;;
$array[1][] = &#39;21&#39;;
$array[1][] = &#39;男&#39;;
$array[2][] = &#39;娜娜&#39;;
$array[2][] = &#39;22&#39;;
$array[2][] = &#39;女&#39;;
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

範例2:「行下標」為空

<?php
header("Content-type:text/html;charset=utf-8");
$array[][&#39;姓名&#39;] = &#39;张三&#39;;
$array[][&#39;年龄&#39;] = &#39;25&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;李四&#39;;
$array[][&#39;年龄&#39;] = &#39;21&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;娜娜&#39;;
$array[][&#39;年龄&#39;] = &#39;22&#39;;
$array[][&#39;性别&#39;] = &#39;女&#39;;
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

範例3:「行下標」和「列下標」都為空

<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = &#39;张三&#39;;
$array[][] = &#39;25&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;李四&#39;;
$array[][] = &#39;21&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;娜娜&#39;;
$array[][] = &#39;22&#39;;
$array[][] = &#39;女&#39;;
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

2、使用array()函數

使用array() 函數宣告二維陣列與宣告一維數組相似。

1)索引數組

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("张三",25,"男"),
    array("李四",21,"男"),
    array("娜娜",22,"女")
);
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

#2)關聯數組

範例1 :

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    "学生1"=>array("张三",25,"男"),
    "学生2"=>array("李四",21,"男"),
    "学生3"=>array("娜娜",22,"女")
);
var_dump($array);
?>

輸出結果:

php 多維數組是什麼

範例2:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    "学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    "学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    "学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 var_dump($array);
?>

輸出結果:

php 多維數組是什麼

說明:取得二維陣列中的元素

只需要註明每個維度的下標即可

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 echo $array[0][&#39;姓名&#39;].&#39;同学的年龄为&#39;.$array[0][&#39;年龄&#39;].&#39;岁&#39;;
?>

輸出結果:

张三同学的年龄为25岁

二、多維數組的建立

#多維數組是包含一個或多個陣列的陣列。

在多維數組中,主數組中的每一個元素也可以是數組,子數組中的每一個元素也可以是一個數組。

參考二維數組,我們可以很容易地了解多維數組的創建方法

#範例:三維數組的創建

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
        &#39;安徽&#39; => array(
            &#39;合肥&#39;=>array(&#39;蜀山区&#39;,&#39;长丰县&#39;,&#39;肥东&#39;),
			&#39;宿州&#39;=>array(&#39;墉桥区&#39;,&#39;灵璧县&#39;,&#39;泗县&#39;)
        ),
        &#39;河南&#39; => array(
            &#39;洛阳&#39;=>array(&#39;西工区&#39;,&#39;老城区&#39;,&#39;孟津县&#39;),
            &#39;郑州市&#39;=>array(&#39;中原区&#39;,&#39;金水区&#39;)
        )
);
 var_dump($array);
?>

輸出結果:

php 多維數組是什麼

#推薦學習:《PHP影片教學

品牌 庫存

以上是php 多維數組是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn