PHPで配列を走査して異なる数値を取得する方法

PHPz
リリース: 2023-04-27 09:35:59
オリジナル
476 人が閲覧しました

PHP 言語の段階的な発展により、配列操作は私たちの日常業務に不可欠な部分になりました。 PHP には、for ループや foreach ループなど、配列を走査するためのメソッドが多数用意されていますが、配列内のさまざまな項目の数を数える必要がある場合、開発者によっては難しいと感じる場合があります。この記事では、配列を走査してさまざまな数値を取得するいくつかの方法を紹介します。

  1. for ループを使用して走査する

for ループと in_array 関数を使用して、配列内のさまざまな項目の数を取得します。具体的な実装方法は以下の通りです:

$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam");
$count_array = array(); // 初始化一个存储不同项数量的数组

for ($i=0; $i<count($test_array); $i++) {
    if (!in_array($test_array[$i], $count_array)) { // 如果当前项不在count_array中
        array_push($count_array, $test_array[$i]); // 将当前项加入count_array中
    }
}
echo count($count_array); // 输出不同项的数量
ログイン後にコピー

上記は実装方法ですが、forループを使用する場合は配列の長さを考慮する必要があり、配列数が多い場合はこの方法では問題が発生する可能性があります。無駄な時間とLF。

  1. foreach ループを使用して走査する

foreach ループを通じて配列を走査することにより、さまざまな項目の数をカウントする操作をより簡潔かつ明確に実現できます。具体的な実装方法は次のとおりです。

$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam");
$count_array = array(); // 初始化一个存储不同项数量的数组

foreach ($test_array as $value) {
    if (!in_array($value, $count_array)) { // 如果当前项不在count_array中
        array_push($count_array, $value); // 将当前项加入count_array中
    }
}
echo count($count_array); // 输出不同项的数量
ログイン後にコピー

for ループを使用する方法と比較して、foreach ループを使用すると必要なコードが少なく、読みやすく、比較的効率的です。

  1. array_unique 関数を使用する

array_unique 関数を使用して、重複する項目を含まない配列を取得します。配列の長さは、配列内の異なる項目の数です。元の配列。具体的な実装方法は以下のとおりです。

$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam");
$unique_array = array_unique($test_array);
echo count($unique_array);
ログイン後にコピー

上記 2 つの方法と比較して、array_unique 関数を使用した方がコード量が単純明快で、処理速度も効率的です。

要約すると、PHP には、配列を走査してさまざまな項目の数を取得するためのさまざまなメソッドが用意されています。 for ループ方式を使用する場合は、配列の長さに注意する必要があり、配列の数が多い場合、追加のリソース消費が発生する可能性があります。この操作は、foreach ループ メソッドを使用すると、より簡潔かつ明確に実装できます。 array_unique 関数の使用は、最も効率的な方法の 1 つであり、最も簡単でもあります。読者はさまざまなニーズに応じて自分に合った方法を選択できます。

以上がPHPで配列を走査して異なる数値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート