首頁  >  文章  >  後端開發  >  php多維數組如何取得

php多維數組如何取得

王林
王林原創
2023-05-11 09:38:07855瀏覽

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

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