當前位置: 首頁> 最新文章列表> 結合array_column 和array_count_values 統計某列值頻次

結合array_column 和array_count_values 統計某列值頻次

M66 2025-04-28

在PHP 中,我們可以通過結合使用array_columnarray_count_values函數來高效地統計一個多維數組中特定列的值出現的頻次。接下來我們將詳細介紹這兩個函數的作用,並通過一個實例來說明如何完成這一任務。

1. array_column函數簡介

array_column函數用於從一個多維數組中提取某一列的值。它的語法如下:

 array_column(array $array, mixed $column_key, mixed $index_key = null): array
  • $array :輸入的多維數組。

  • $column_key :我們想要提取的列的鍵名。

  • $index_key :可選參數,指定新的索引鍵(如果需要)。

該函數將返回一個包含指定列所有值的一維數組。

2. array_count_values函數簡介

array_count_values函數用於統計數組中各個值的出現次數,返回一個關聯數組,其中鍵是數組中的值,值是該值出現的次數。語法如下:

 array_count_values(array $array): array

3. 結合使用array_columnarray_count_values實現頻次統計

假設我們有一個包含用戶信息的多維數組,並且我們想要統計其中gender (性別)列值的頻次。我們可以使用array_column提取gender列,再使用array_count_values來統計各個性別的頻次。

示例代碼

<?php

// 示例數據:包含用戶的姓名和性別
$users = [
    ['name' => 'Alice', 'gender' => 'female'],
    ['name' => 'Bob', 'gender' => 'male'],
    ['name' => 'Charlie', 'gender' => 'male'],
    ['name' => 'David', 'gender' => 'male'],
    ['name' => 'Eve', 'gender' => 'female']
];

// 使用 array_column 提取 gender 列
$genders = array_column($users, 'gender');

// 使用 array_count_values 統計性別頻次
$genderCount = array_count_values($genders);

// 輸出統計結果
print_r($genderCount);

?>

輸出結果

Array
(
    [female] => 2
    [male] => 3
)

4. 代碼說明

  1. 我們首先定義了一個包含用戶信息的多維數組$users ,每個元素是一個關聯數組,包含namegender鍵。

  2. 使用array_column($users, 'gender')提取了所有用戶的性別,得到了一個簡單的一維數組: ['female', 'male', 'male', 'male', 'female']

  3. 使用array_count_values($genders)來統計性別的頻次,返回結果是一個關聯數組,表示每個性別的出現次數。

5. 使用場景

這種方法非常適用於處理大量的多維數組數據,特別是當你需要對某一列的值進行頻次統計時。例如,統計產品的分類、用戶的性別、訂單的支付方式等。

6. 總結

通過結合使用PHP 的array_columnarray_count_values函數,我們可以輕鬆地統計數組中某一列的值的頻次。這兩者配合使用使得數組數據的處理變得簡單而高效。通過這個技巧,你可以輕鬆地對各種數據進行分析和統計,提升開發效率。