首頁  >  文章  >  後端開發  >  PHP數組學習之二維數組創建方法淺析

PHP數組學習之二維數組創建方法淺析

青灯夜游
青灯夜游原創
2021-07-28 13:29:435869瀏覽

PHP是支援一維和多維數組,在之前的文章《PHP數組學習之一維數組如何創建和初始化(代碼詳解)》中我們透過程式碼範例給大家詳細介紹了一維數組創建和初始化的幾種方法,那麼下面我們來了解一下PHP中的二維數組(多維數組),看看二維數組(多維數組)要如何創建,一起學習吧!

這篇文章我們會透過程式碼實例先介紹一下二維數組數組的建立方法,進而擴展介紹一下多維數組的創建方法。下面就來一起看看。

所謂的二維數組,簡單來說就是在一維數組裡面再定義多個一維數組,即一個數組中的值可以是另一個數組(可能有點片面,但是二維數組的原理大致是這樣)。二維數組本質上是以數組作為數組元素的數組,即“數組的數組”,類型說明符為“數組名[常數表達式][常數表達式]”。 (附:PHP函數之array數組函數視訊講解

#一、二維數組的創建

二維數組和一維數組的建立方式是一樣的,只是將數組中元素換成數組即可。同樣有兩種方法:“直接為數組元素賦值”和“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數組學習之二維數組創建方法淺析

#推薦:2021年PHP面試題大匯總(收藏)》《php影片教學

以上是PHP數組學習之二維數組創建方法淺析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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