今天我們要說的主題是php array column,是一種非常實(shí)用的數(shù)組函數(shù),可以快速方便地取出多維數(shù)組中的某一列數(shù)值。看下面的例子:
$users = [ ['id' =>101, 'name' =>'Tom', 'age' =>21], ['id' =>102, 'name' =>'Jerry', 'age' =>22], ['id' =>103, 'name' =>'Mickey', 'age' =>23] ]; //取出$users數(shù)組中每個子數(shù)組的id列的值 $ids = array_column($users, 'id'); print_r($ids); //輸出:Array ( [0] =>101 [1] =>102 [2] =>103 )
上述代碼用到了array_column函數(shù),第一個參數(shù)是需要取值的數(shù)組,第二個參數(shù)是需要取出的列名。這里我們?nèi)〕隽?users數(shù)組的id列,可以看到輸出結(jié)果是每個子數(shù)組的id列的值。
除了可以取一維數(shù)組的某一列之外,array_column函數(shù)還可以取多維數(shù)組的某一列。還是以上面的$users數(shù)組為例:
$users = [ ['id' =>101, 'name' =>'Tom', 'age' =>21, 'hobby' =>['football', 'music']], ['id' =>102, 'name' =>'Jerry', 'age' =>22, 'hobby' =>['reading', 'movie']], ['id' =>103, 'name' =>'Mickey', 'age' =>23, 'hobby' =>['game', 'swimming']] ]; //取出$users數(shù)組中每個子數(shù)組的hobby列的值 $hobbies = array_column($users, 'hobby'); print_r($hobbies); //輸出: //Array //( // [0] =>Array // ( // [0] =>football // [1] =>music // ) // // [1] =>Array // ( // [0] =>reading // [1] =>movie // ) // // [2] =>Array // ( // [0] =>game // [1] =>swimming // ) //)
可以看到,輸出結(jié)果是一個二維數(shù)組,其中每個子數(shù)組都是原數(shù)組中某一列的值。這個功能非常實(shí)用,在處理多維數(shù)組時(shí)可以快速方便地取出所需的一列數(shù)據(jù)。
除此之外,array_column函數(shù)還有一些有用的參數(shù),比如第三個參數(shù)用于設(shè)置數(shù)組中作為鍵的列,這在處理關(guān)聯(lián)數(shù)組時(shí)非常有用。看下面的例子:
$users = [ ['id' =>101, 'name' =>'Tom', 'age' =>21], ['id' =>102, 'name' =>'Jerry', 'age' =>22], ['id' =>103, 'name' =>'Mickey', 'age' =>23] ]; //取出$users數(shù)組中每個子數(shù)組的age列的值,并將id列作為鍵 $ages = array_column($users, 'age', 'id'); print_r($ages); //輸出:Array ( [101] =>21 [102] =>22 [103] =>23 )
可以看到,輸出結(jié)果是一個以id為鍵,age為值的關(guān)聯(lián)數(shù)組,這樣我們就可以方便地根據(jù)id取出對應(yīng)的age值。
PHP array_column是一種靈活實(shí)用的數(shù)組函數(shù),能夠快速取出多維數(shù)組中的某一列數(shù)值,而且還有很多有用的參數(shù)。在處理大量數(shù)據(jù)時(shí),這個函數(shù)可以減少繁瑣的代碼,提高效率,希望大家在實(shí)際項(xiàng)目中多多運(yùn)用。