在PHP程式設計中,多維數組是非常常見的資料結構之一。多維數組是指一個數組中的每個元素也是一個數組,而這個數組相對於一維數組更具結構性。在對多維數組進行操作時,我們需要了解如何取得其中的值,本文將為大家介紹多維數組的獲取方法。
一、基礎運算
取得二維陣列中的值非常簡單,只需要像一維陣列一樣使用中括號和下標即可。例如:$arr0,這樣就可以取得到陣列中第1個元素中的第2個值。
二、循環遍歷
如果多維數組不只兩個維度,那麼基礎運算的使用就會變得極為繁瑣。這時候我們可以使用循環來方便地遍歷來取得多維數組中的值。程式碼實作如下:
foreach($arr as $key1=>$val1){ foreach($val1 as $key2=>$val2){ echo $arr[$key1][$key2]; } }
可以看到,我們在外層循環中取得到一維數組的下標和值,進入內層循環後再取得到二維數組的下標和值,然後輸出即可。
三、遞迴獲取
如果多維數組的維度非常多,使用循環遍歷就會很繁瑣。這時候我們可以使用遞歸函數來取得多維數組中的值。
遞迴函數的實作方法是:判斷目前獲取的元素是否為數組,如果是則繼續遞歸獲取,直至取得到最後一維的值。範例程式碼如下:
function get_val($arr){ foreach($arr as $val){ if(is_array($val)){ get_val($val); }else{ echo $val; } } }
可以看到,我們先判斷目前取得的值是否為數組,如果是則繼續呼叫遞歸函數,如果不是則輸出。這樣,無論是多少維的數組,都可以使用遞歸函數來取得其中的值。
四、使用array_column
PHP中提供了一個array_column函數,可以幫助我們取得多維數組中的指定列。此函數的語法如下:
array_column($arr, $column_key [, $index_key]);
其中,$arr參數是要取得值的數組,$column_key參數是要取得的列的下標,$index_key參數是新數組的下標。如果沒有指定$index_key,則會使用從0開始的數字索引。
範例程式碼如下:
$arr = array( array('id'=>1, 'name'=>'Tom', 'age'=>18), array('id'=>2, 'name'=>'Jerry', 'age'=>20), array('id'=>3, 'name'=>'Lucy', 'age'=>22) ); $name_arr = array_column($arr, 'name');
在上述程式碼中,我們使用array_column函數取得了數組$arr中的'name'列。最後得到的$name_arr數組就是這個數組中所有名字的集合,其中每個元素都是一個字串,對應數組中每個元素的'name'值。
總結:
在PHP中,對多維數組的獲取是一個非常基礎且重要的操作。透過本文的介紹,我們可以知道基礎操作、循環遍歷、遞歸獲取、array_column函數等幾種獲取方式。不同的取得方式適用於不同的場景,可以根據實際情況進行選擇和使用。
以上是php多維數組如何取得的詳細內容。更多資訊請關注PHP中文網其他相關文章!