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

php的多維數組是什麼意思

百草
百草原創
2023-07-06 15:19:221173瀏覽

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

php的多維數組是什麼意思

本教學作業系統:windows10系統、PHP 8.1.3版本、DELL G3電腦。

PHP - 多維數組

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

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

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

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

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

PHP - 兩維數組

兩維數組是數組的數組(三維數組是數組的數組的數組)。

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

##品牌      庫存   銷售量

Volvo    33    20    

BMW# 5      2    

Land Rover    15    11    

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

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

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

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

實例

<?phpheader("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>";
   ?>

我們也可以在For 循環中使用另一個For 循環,來獲得$cars 數組中的元素(我們仍需使用兩個索引):php的多維數組是什麼意思

<?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);
?>

輸出結果:

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

範例1:「列下標」為空

<?phpheader("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);
?>

輸出結果:

範例2:「行下標」為空php的多維數組是什麼意思

<?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);
?>

輸出結果:

範例3:「行下標」和「列下標」都為空php的多維數組是什麼意思

<?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);
?>

輸出結果:

2、使用array()函數php的多維數組是什麼意思

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

1)索引陣列

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

輸出結果:

#2)關聯陣列php的多維數組是什麼意思

範例1:

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

輸出結果:

範例2:php的多維數組是什麼意思

<?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;;
 ?>

輸出結果:

<?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中文網其他相關文章!

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