ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列内の特定の値の出現を効率的にカウントするにはどうすればよいですか?

PHP 配列内の特定の値の出現を効率的にカウントするにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 05:52:11261ブラウズ

How Can I Efficiently Count Occurrences of Specific Values in a PHP Array?

Array_count_values を使用した配列内の値のカウント

配列を操作する場合、多くの場合、特定の値の出現をカウントする必要があります。たとえば、空白値と空白以外の値の両方を含む配列を考えてみましょう。

$array = array('', '', 'other', '', 'other');

目的は、特に数百の要素を含む大きな配列の場合、配列内の空白値の数を効率的に決定することです。

最初は、単純な反復を検討します。

function without($array) {
    $counter = 0;
    for($i = 0, $e = count($array); $i < $e; $i++) {
        if(empty($array[$i])) {
            $counter += 1;
        }
    }
    return $counter;
}

ただし、このアプローチは、大きな配列では非効率的になる可能性があります。 PHP は、array_count_values 関数を使用して、より最適化されたソリューションを提供します。この関数は配列を入力として受け取り、入力配列の値を表すキーと各値のカウントを表す値を含む配列を返します。

$counts = array_count_values($array);

結果は次のようになります:

array(
    '' => 3,
    'other' => 2
)

空白の値の数を数えるには、対応するキーにアクセスするだけです:

$blank_count = $counts[''];

このアプローチは、特に次の場合、反復手法よりも大幅に効率的です。大きな配列。

以上がPHP 配列内の特定の値の出現を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。