首頁 >後端開發 >php教程 >PHP如何統計數組中各個的值的個數

PHP如何統計數組中各個的值的個數

WBOY
WBOY轉載
2024-03-19 12:28:12626瀏覽

php小編小新為您介紹如何使用PHP統計數組中各個值的個數。在PHP中,可以透過使用array_count_values()函數來實現這項功能。此函數會傳回一個關聯數組,其中包含了數組中每個值出現的次數。透過遍歷這個關聯數組,即可取得數組中各個值的個數。這種方法簡單高效,適用於各種類型的數組,為您提供了方便快速的統計方式。

#PHP 統計數組中各值的個數

#在 php 中,有以下幾種方法可以統計數組中各個值的數量:

1. 使用 array_count_values 函數

array_count_values 函數可以統計數組中每個值出現的次數,並傳回一個鍵值對數組,其中鍵是值,值是出現次數。

$arr = ["a", "b", "c", "a", "b", "d"];

$counts = array_count_values($arr);

// 輸出 $counts 數組
print_r($counts);

輸出:

[a] => 2
[b] => 2
[c] => 1
[d] => 1

2. 使用 count 函數

count 函數可以統計數組中元素的個數。透過使用巢狀循環和 isset 函數,可以統計數組中每個值出現的次數。

$arr = ["a", "b", "c", "a", "b", "d"];

$counts = [];

foreach ($arr as $value) {
if (!isset($counts[$value])) {
$counts[$value] = 0;
}
$counts[$value] ;
}

// 輸出 $counts 數組
print_r($counts);

輸出:

[a] => 2
[b] => 2
[c] => 1
[d] => 1

3. 使用 foreach 迴圈

使用 foreach 迴圈可以遍歷數組中的每個值,並將出現次數儲存在一個關聯數組中。

$arr = ["a", "b", "c", "a", "b", "d"];

$counts = [];

foreach ($arr as $value) {
$counts[$value] = isset($counts[$value]) ? $counts[$value] 1 : 1;
}

// 輸出 $counts 數組
print_r($counts);

輸出:

[a] => 2
[b] => 2
[c] => 1
[d] => 1

4. 使用 group_by 函數(PHP 7 )

PHP 7 引入了 group_by 函數,該函數可以將陣列中的元素分組,其中鍵是群組的鍵,值是群組中的元素。

$arr = ["a", "b", "c", "a", "b", "d"];

$counts = group_by($arr)->map(function ($group) {
return count($group);
});

// 輸出 $counts 數組
print_r($counts);

輸出:

[a] => 2
[b] => 2
[c] => 1
[d] => 1

選擇方法

選擇哪一種方法取決於陣列的大小和所使用的 PHP 版本。對於小型數組,使用 array_count_values 函數通常是最快的。對於中型到大型數組,使用 count 函數或 foreach 迴圈可能是更好的選擇。在 PHP 7 中,group_by 函數提供了一種簡潔的方式來分組和統計數組值。

以上是PHP如何統計數組中各個的值的個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lsjlt.com。如有侵權,請聯絡admin@php.cn刪除