在之前的文章中為大家帶來了《三分鐘帶你搞定PHP過濾器(實例詳解)》,其中詳細的介紹了PHP過濾器的相關知識,本篇文章我們來看看PHP中的多維數組相關知識,希望對大家有幫助!
透過前面的學習我們知道了,PHP中的陣列可以儲存所有類型的數據,其中當然包括了陣列本身。這時候當一個數組中的元素就是另一個數組是,這個構成包含數組的數組應該怎樣稱呼,當這個被包含的數組內的元素還是一個數組的時候,我們又要怎麼處理呢?
數組簡單來說就是一種數或簡單的列表,有時候我們希望用一個以上的鍵來保存數據,這時候就需要用到我們剛才說到的那種包含的數組了,這樣的就稱為多維數組,接下來我們一起來看看多維數組的相關知識。
二維陣列
上文中我們說了,當一個陣列中的元素就是另一個陣列的時候,這個構成包函數組的陣列就是二維數組,二維數組簡單地理解為數組的數組。那它的宣告方式和普通的陣列有沒有差別呢?
二維數組和一維數組的聲明方式是一樣的,只是將數組中的一個或多個元素也聲明成了一個數組,同時也有直接為數組元素賦值和使用array() 函數兩種宣告二維陣列的方法。
下面我們透過範例來看一下使用直接為數組元素賦值的方式來宣告一個數組,範例如下:
<?php $array[0]['name'] = 'father'; $array[0]['year'] = '1949'; $array[0]['age'] = '72'; $array[1]['name'] = 'mother'; $array[1]['year'] = '1949'; $array[1]['age'] = '72'; echo '<pre class="brush:php;toolbar:false">'; print_r($array); ?>
輸出結果:
在上述範例中,這是使用了直接為數組元素賦值的方式來宣告了一個數組,接下來我們看一下透過array()
函數來宣告一個二維陣列的情況,範例如下:
<?php $array = array( array('name'=>'father','year'=>'1949','age'=>'72'), array('name'=>'mother','year'=>'1949','age'=>'72') ); echo '<pre class="brush:php;toolbar:false">'; print_r($array); ?>
輸出結果與上述範例中的輸出結果一致。
宣告了一個二位數組後,想要取得其中的元素也是很簡單的,和一維數組也是類似的,只需要註明每個維度的下標就行了。
接下來我們透過範例來看怎麼取得二位數組中的元素,範例如下:
<?php $array = array( array('name'=>'father','year'=>'1949','age'=>'72'), array('name'=>'mother','year'=>'1949','age'=>'72') ); echo '<pre class="brush:php;toolbar:false">'; print_r($array); echo $array[0]['name'].'在'.$array[0]['year'].'年出生,今年已经'.$array[0]['age'].'岁了<br/>'; echo $array[1]['name'].'在'.$array[1]['year'].'年出生,今年已经'.$array[1]['age'].'岁了'; ?>
輸出結果:
#其中我們需要注意的是:數組的不同維度標誌著我們需要使用幾個下標來獲取對應的數組元素,例如二維數組需要使用兩個下標來獲取對應的數組元素,三維數組則需要三個,以此類推。
有時我們希望用一個以上的鍵來保存數據,這樣就需要用到PHP的多維數組來實現了。不過,有時希望用一個以上的鍵來儲存值。這時候就可以用多維數組來儲存。接下來我們來看看多維數組。
多維數組
除了二維數組外,PHP 還支援三維數組、四維數組甚至更加多維度的數組,這裡可以統稱為多維數組,不過數組超過三維之後可讀性就會大大降低,同時也不便於管理。
參考二維數組,舉一反三,可以輕鬆地建立三維數組、四維數組或其他更高維數的數組。接下來我們透過範例來看三維陣列是怎麼定義的,範例如下:
<?php $arr = array( '中国' => array( '安徽'=>array('合肥','蚌埠','芜湖'), '江苏'=>array('南京','徐州','苏州'), '浙江'=>array('杭州','宁波','温州') ), '美国' => array( '阿拉斯加州'=>array('朱诺','安克雷奇'), '路易斯安那州'=>array('新奥尔良','巴吞鲁日'), '加利福尼亚州'=>array('洛杉矶','萨克拉门托') ) ); echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo $arr['中国']['安徽'][0]; // 输出合肥 ?>
輸出結果:
PHP影片教學》進行更多關於PHP知識的學習。
以上是PHP中如何定義多維數組及取得其中元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!