PHPでは、 array_count_values()とasort()が2つの非常に有用な機能である場合、配列を処理することが非常に一般的です。 array_count_values()関数は、配列内の各要素の周波数をカウントでき、 asort()関数は配列の値に応じて昇順に並べ替えることができます。この記事では、これら2つの機能を組み合わせて使用して、要素の頻度に応じて配列を昇順で配置する方法を紹介します。
まず、配列が必要で、次にarray_count_values()関数を使用して、各要素の発生数をカウントします。 array_count_values()は、キーが配列の要素であり、値が要素が表示される回数である連想配列を返します。
<?php
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'apple'];
$frequency = array_count_values($array);
print_r($frequency);
?>
出力:
Array
(
[apple] => 3
[banana] => 2
[orange] => 1
)
上記の例では、 Appleが3回表示され、バナナが2回表示され、オレンジが1回表示されることがわかります。
次に、 asort()関数を使用して、 array_count_values()結果をソートできます。 ASORT()関数は、配列の値に基づいて配列の昇順をソートしますが、キー値は関連付けられています。
<?php
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'apple'];
$frequency = array_count_values($array);
// 周波数の昇順でアレンジします
asort($frequency);
print_r($frequency);
?>
出力:
Array
(
[orange] => 1
[banana] => 2
[apple] => 3
)
上に示すように、 ASORT()は、周波数に応じてアレイを低から高に並べ替えます。
array_count_values()とasort()を組み合わせることにより、配列内の要素の頻度に応じて非常に簡単にソートできます。 array_count_values()は周波数をカウントするために使用されますが、 asort()は周波数の昇順の並べ替えに責任があります。これらの関数を使用して、特に頻度でソートする必要があるシナリオでは、データを処理および分析できます。
上記は、asort()とarray_count_values()を使用して、周波数昇順で配列をソートする方法の基本的な方法です。頻度を数えて開発中に並べ替える必要がある場合は、この記事のサンプルコードを参照することを忘れないでください。