PHPでは、 array_count_values()は、配列内の各要素の発生をカウントする非常に便利な関数であり、キーが配列要素であり、値が配列の要素の発生数である関連配列を返します。ただし、 array_count_values()によって返される結果は、デフォルトでは順序付けられていません。この時点で、 Arsort()関数を使用して結果を降順で配置して、最も頻繁な要素を表示できるようにします。
この記事では、array_count_values()とarray()を使用してデータを処理し、結果を高頻度から低周波数から並べ替える方法について詳しく説明します。
array_count_values()関数は、配列内の各要素の発生数をカウントするために使用されます。キーが配列の値であり、値は各値が表示される回数である関連配列を返します。
<?php
// 配列を定義します
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];
// 使用 array_count_values() 統計要素周波数
$result = array_count_values($array);
// 出力結果
print_r($result);
?>
Array
(
[apple] => 2
[banana] => 3
[orange] => 1
)
この例では、バナナが3回、リンゴが2回表示され、オレンジが1回しか表示されないことがわかります。
array_count_values()によって返される配列は順序付けられていないため、 Arsort()を使用して配列を並べ替えて下降順に周波数を配置する必要があります。これにより、最も周波数の要素が最初にランクされます。これにより、どの要素が配列で最も表示されるかを簡単に確認できます。
Arsort()関数は、キー価値の関連性を維持しながら、値によって下降順序で配列を並べ替えます。
<?php
// 配列を定義します
$array = ["apple", "banana", "apple", "orange", "banana", "banana"];
// 統計要素周波数
$result = array_count_values($array);
// 使用 arsort() 降順の周波数順に手配します
arsort($result);
// 出力ソートされた結果
print_r($result);
?>
Array
(
[banana] => 3
[apple] => 2
[orange] => 1
)
ソートされたアレイでは、バナナが最も多く表示されるため、バナナは一番上にあります。
文字列の配列で各文字の発生頻度をカウントし、周波数の下降順に配置する必要がある場合があります。これが実用的な例です。
<?php
// 文字列の配列を定義します
$text = "php is awesome, php is powerful";
// 使用 str_split() 文字列を文字アレイに変換します
$charArray = str_split(str_replace(" ", "", $text)); // スペースを取り外します
// 統計文字頻度
$charCount = array_count_values($charArray);
// 降順の周波数順に手配します
arsort($charCount);
// 出力ソートされた結果
print_r($charCount);
?>
Array
(
[p] => 4
[h] => 2
[i] => 2
[s] => 2
[e] => 2
[o] => 2
[m] => 1
[a] => 1
[w] => 1
[,] => 1
[f] => 1
[u] => 1
)
この例では、文字列内の各文字の発生頻度をカウントし、 Arsort()を使用して、発生順に文字をソートします。
array_count_values()とarray()を組み合わせることにより、アレイ内の要素の頻度を非常に便利にカウントし、周波数ごとに下降順に配置できます。この組み合わせは、単語周波数統計、文字統計など、配列内の要素の数をすばやく表示する必要があるシナリオに特に適しています。
この記事が、これら2つの機能を使用してデータをより効率的に処理する方法を理解するのに役立つことを願っています。他に質問がある場合は、引き続き議論してください!