PHP是一種廣泛使用的開源腳本語言,它被廣泛用於web開發。對於PHP程序員而言,處理數據是非常重要的一部分。面對大量的數據,如何高效地處理數據,是每一個PHP程序員都需要掌握的技能。本文將介紹PHP的一個非常有用的函數——array_column(),讓您輕鬆處理PHP數組。
一、什麼是array_column函數
首先,我們來看一下array_column函數的定義:
array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ) : array
array_column函數的作用是從數組中取得指定列的值。
其中,$input是要處理的多維數組;$column_key是要獲取的列的鍵名;$index_key是作為返回數組的鍵的列的鍵名。如果未指定$index_key,則返回的數組使用數字鍵。返回值是一個由指定列的值組成的數組。
二、array_column函數的使用
現在,我們來看一下array_column函數的使用方法,例如下面這個數組:
$students = array( array('name' => 'Tom', 'age' => '18', 'grade' => '80'), array('name' => 'Jerry', 'age' => '17', 'grade' => '90'), array('name' => 'Mike', 'age' => '19', 'grade' => '85') );
我們可以用如下代碼獲取學生們的年齡信息:
$ages = array_column($students, 'age'); print_r($ages);
輸出結果為:
Array ( [0] => 18 [1] => 17 [2] => 19 )
我們也可以通過指定第三個參數來指定返回數組的鍵名,例如:我們可以按照名字作為鍵獲取每個學生的年齡信息,如下代碼:
$ages = array_column($students, 'age', 'name'); print_r($ages);
輸出結果為:
Array ( [Tom] => 18 [Jerry] => 17 [Mike] => 19 )
三、使用array_column函數來統計數據
除了取出特定的列數據外,array_column函數還可以用來統計數據。例如下面這個二維數組:
$scores = array( array('name' => 'Tom', 'subject' => 'Math', 'score' => '80'), array('name' => 'Tom', 'subject' => 'English', 'score' => '90'), array('name' => 'Jerry', 'subject' => 'Math', 'score' => '70'), array('name' => 'Jerry', 'subject' => 'English', 'score' => '85'), array('name' => 'Mike', 'subject' => 'Math', 'score' => '90'), array('name' => 'Mike', 'subject' => 'English', 'score' => '80') );
可以使用array_column函數來統計每個學生的總分。如下代碼:
$sums = array_column($scores, 'score', 'name'); foreach($sums as $name => $sum){ echo "{$name}'s total score is: {$sum}
"; }
輸出結果為:
Tom's total score is: 170 Jerry's total score is: 155 Mike's total score is: 170
四、array_column函數的注意事項
在使用array_column函數時需要注意以下幾點:
1.如果指定的列名在多個子數組中相同,則只返回最後一個匹配的元素。
2.如果未指定索引列,則返回數組使用數字索引。這時如果多個子數組中有重複的值,則後面的子數組會覆蓋前面的。
3.如果第二個參數是數組,則會使用第一個元素作為列名,其他元素則不做處理。
五、總結
array_column函數是一個非常方便的函數,在處理PHP數組時可以大大簡化代碼。本文介紹了array_column函數的使用方法和注意事項。掌握這個函數可以讓您在處理PHP數組上事半功倍。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/247422.html