一、概述
array_column函數是PHP官方提供的函數之一,用於從多維數組中取出某個鍵的值,返回這些值作為一個新的數組。該函數可以在PHP 5.5.0及以上版本中使用。
// 獲取二維數組中的name列 $arr = array( array('id' => 1, 'name' => 'John', 'age' => 26), array('id' => 2, 'name' => 'Mark', 'age' => 32), array('id' => 3, 'name' => 'Sara', 'age' => 19) ); $nameArr = array_column($arr, 'name'); print_r($nameArr); // 輸出 ['John', 'Mark', 'Sara']
二、基本用法
array_column的基本用法已經在上面的示例中展現出來了。下面我們再來看更多的實例。
1、從多維數組中獲取某一列:
// 獲取二維數組中的age列 $arr = array( array('id' => 1, 'name' => 'John', 'age' => 26), array('id' => 2, 'name' => 'Mark', 'age' => 32), array('id' => 3, 'name' => 'Sara', 'age' => 19) ); $ageArr = array_column($arr, 'age'); print_r($ageArr); //輸出 [26, 32, 19]
2、從對象數組中獲取某一列:
// 從對象數組中獲取name列 $arr = array( (object)array('id' => 1, 'name' => 'John', 'age' => 26), (object)array('id' => 2, 'name' => 'Mark', 'age' => 32), (object)array('id' => 3, 'name' => 'Sara', 'age' => 19) ); $nameArr = array_column($arr, 'name'); print_r($nameArr); // 輸出 ['John', 'Mark', 'Sara']
3、獲取多個列的值:
// 獲取二維數組中的name和age列 $arr = array( array('id' => 1, 'name' => 'John', 'age' => 26), array('id' => 2, 'name' => 'Mark', 'age' => 32), array('id' => 3, 'name' => 'Sara', 'age' => 19) ); $nameAgeArr = array_column($arr, 'name', 'age'); print_r($nameAgeArr); // 輸出 [26=>'John', 32=>'Mark', 19=>'Sara']
需要注意的是,當第三個參數key存在時,返回由鍵值對組成的新數組,否則返回由值組成的新數組。比如上例中的返回結果就是一個關聯數組,關鍵字為age,值為name。如果沒有指定key,則返回的就是一個普通的索引數組。
三、注意事項
1、當使用key參數時,確保您所選擇的鍵具有唯一性,這樣才能保證返回的數組正確無誤。
2、如果指定的鍵不存在或者在內部數組中不存在,array_column函數不會報錯,而是在結果中跳過該項並繼續處理其他項。
總結
在PHP開發中,array_column函數是非常常用的一個函數,可以幫助我們快速地從多維數組或者對象數組中獲取某一列或者多列的值,提高了開發效率。需要注意的是,在使用過程中要遵循相關的注意事項,以保證程序的正確性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/192262.html