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 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>"; } ?>
二維數組的創建方法:
二維數組和一維數組的創建方式是一樣的,只是將數組中元素換成數組即可。同樣有兩種方法:“直接為數組元素賦值”和“array()函數”,下面我們實際的程式碼案例來詳細的給大家介紹一下這兩種方法。 1、直接為陣列元素賦值我們可以透過形如「$數組變數名[行下標] [列下標]= 值;」的格式來建立並初始化二維數組<?php header("Content-type:text/html;charset=utf-8"); $array[0]['姓名'] = '张三'; $array[0]['年龄'] = '25'; $array[0]['性别'] = '男'; $array[1]['姓名'] = '李四'; $array[1]['年龄'] = '21'; $array[1]['性别'] = '男'; $array[2]['姓名'] = '娜娜'; $array[2]['年龄'] = '22'; $array[2]['性别'] = '女'; var_dump($array); ?>輸出結果:
二維陣列的行下標和列下標可以為空(即不指定具體的索引值) ,那麼預設為數字索引,而索引值預設從0 開始依序增加。
範例1:「列下標」為空<?phpheader("Content-type:text/html;charset=utf-8"); $array[0][] = '张三'; $array[0][] = '25'; $array[0][] = '男'; $array[1][] = '李四'; $array[1][] = '21'; $array[1][] = '男'; $array[2][] = '娜娜'; $array[2][] = '22'; $array[2][] = '女'; var_dump($array); ?>輸出結果:
範例2:「行下標」為空
<?php header("Content-type:text/html; charset=utf-8"); $array[]['姓名'] = '张三'; $array[]['年龄'] = '25'; $array[]['性别'] = '男'; $array[]['姓名'] = '李四'; $array[]['年龄'] = '21'; $array[]['性别'] = '男'; $array[]['姓名'] = '娜娜'; $array[]['年龄'] = '22'; $array[]['性别'] = '女'; var_dump($array); ?>輸出結果:
範例3:「行下標」和「列下標」都為空
<?php header("Content-type:text/html;charset=utf-8"); $array[][] = '张三'; $array[][] = '25'; $array[][] = '男'; $array[][] = '李四'; $array[][] = '21'; $array[][] = '男'; $array[][] = '娜娜'; $array[][] = '22'; $array[][] = '女'; var_dump($array); ?>輸出結果:
2、使用array()函數
使用array() 函數宣告二維陣列與宣告一維陣列相似。 1)索引陣列<?php header("Content-type:text/html;charset=utf-8"); $array = array( array("张三",25,"男"), array("李四",21,"男"), array("娜娜",22,"女")); var_dump($array); ?>輸出結果:
#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); ?>輸出結果:
範例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 header("Content-type:text/html;charset=utf-8"); $array = array( array("姓名"=>"张三","年龄"=>25,"性别"=>"男"), array("姓名"=>"李四","年龄"=>21,"性别"=>"男"), array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")); echo $array[0]['姓名'].'同学的年龄为'.$array[0]['年龄'].'岁'; ?>
輸出結果:
<?php header("Content-type:text/html;charset=utf-8"); $array = array( '安徽' => array( '合肥'=>array('蜀山区','长丰县','肥东'), '宿州'=>array('墉桥区','灵璧县','泗县') ), '河南' => array( '洛阳'=>array('西工区','老城区','孟津县'), '郑州市'=>array('中原区','金水区') ) ); var_dump($array); ?>
輸出結果:
以上是php的多維數組是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!