分類

    Qumeru

    array_count_values | PHP関数リファレンス

    利用できるPHPのバージョンPHP 4, PHP 5, PHP 7

    array_count_values関数とは

    PHPのarray_count_values関数を使うと、配列にセットされている値の出現数をカウントする事ができます。

    array_count_values関数では配列要素の出現数をカウントする際、PHPの暗黙的な型変換が行われるため、String型の数値とint型の数値の違いは識別されず、同じ値としてカウントされます。

    array_count_values関数の使い方

    構文

    array_count_values( 配列 );

    パラメータ

    array_count_values関数のパラメータは、値の出現数をカウントしたい配列をセットします。

    パラメータが多次元配列の場合や、配列の値がString型・int型以外が含まれる場合は、PHPの警告(WARNING)が発生します。

    返り値

    array_count_values関数の戻り値は、パラメータへセットした配列の値をキーとし、値の出現数がセットされた連想配列が戻ります。

    警告発生時は、空の配列が戻ります。

    array_count_values関数を使った例

    array_count_values関数は、値の出現数を取得する事が出来ますが、その他の関数を組み合わせることで配列要素のランキングを取得したり、配列要素の重複を確認する事ができます。

    それでは、サンプルコードと共にarray_count_values関数を使った例をいくつかご紹介します。

    配列要素のランキングを取得する

    ここでは、配列を出現数の多い順に出力してみます。例えば、アンケート結果を人気順に表示するような場合に活用できます。

    配列要素のランキングは下記フローで取得する事ができます。

    ① 配列要素の出現数を求める
    ② 上記①の配列を降順に並び変える

    ランキングを求めたい配列

    $variables = ['raspberry', 'banana', 'apple', 'banana', 'cake', 'apple', 'banana', 'apple', 'cake'];

    ① 配列の出現数を求める

    $arrayCountValues = array_count_values( $variables );

    ② 配列を降順に並び変える

    arsort( $arrayCountValues );

    実際にサンプルコードで確認してみましょう。

    配列要素の出現数の多い順にランキングした結果を取得する事が出来ました。

    配列要素の重複を確認する

    配列の要素に重複した値が存在するかを確認するサンプルコードは下記にてご紹介しています。

    PHPで配列の中に同じ値があるかチェックする方法を解説!のイメージ
    PHPで配列の中に同じ値があるかチェックする方法を解説!
    PHPで配列の中に重複する値が存在するかをチェックする方法についてご紹介します。型の異なる値のチェックについてもサンプルコードと共に解説していきます。