ホームページ  >  記事  >  バックエンド開発  >  PHPで2つの配列に同じ値がいくつあるかを計算する方法

PHPで2つの配列に同じ値がいくつあるかを計算する方法

PHPz
PHPzオリジナル
2023-04-26 14:20:15936ブラウズ

PHP 開発では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を操作して処理する必要があります。 2 つの配列内の同一の要素の数を比較する必要がある場合は、PHP が提供する array_intersect() 関数を使用できます。

array_intersect() 関数は、2 つ以上の配列の共通部分を比較するために使用され、すべての配列に同じ値を含む配列を返します。 2 つの配列をこの関数に引数として渡すことで、その配列の共通部分を取得できます。

次は、array_intersect() 関数を使用して 2 つの配列内の同一の要素の数を数える方法の例です。

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);
$intersection = array_intersect($array1, $array2);
$count = count($intersection);
echo "两个数组中相同元素的个数为:" . $count;

上記のコードでは、2 つの配列 $array1 と $array1 を定義します。 $array2 には、いくつかの数値が含まれています。 array_intersect() 関数を使用してこれら 2 つの配列の交差部分を取得し、結果を $intersection 変数に保存します。最後に、count() 関数を使用して $intersection 配列内の要素の数をカウントし、結果を $count 変数に保存します。最後に、同一要素の数を出力します。

array_intersect() 関数の使用に加えて、ループを使用して 2 つの配列内の同一の要素の数をカウントすることもできます。以下に例を示します。

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);
$count = 0;
foreach ($array1 as $element1) {
    foreach ($array2 as $element2) {
        if ($element1 == $element2) {
            $count++;
        }
    }
}
echo "两个数组中相同元素的个数为:" . $count;

上記のコードでは、2 つの配列内のすべての要素を 2 レベルのループで調べ、if ステートメントを使用してそれらが等しいかどうかを比較します。 2 つの要素が等しい場合は、$count 変数に 1 を加えます。最後に、同一要素の数を出力します。

ループ計算ではなく array_intersect() 関数を使用する利点は、内部でハッシュ テーブル データ構造を使用して計算を高速化するため、大規模な配列をより効率的に処理できることです。さらに、関数を使用すると、コードがより簡潔になり、理解しやすくなります。

要約すると、2 つの配列内の同一の要素の数を計算する必要がある場合、PHP が提供する array_intersect() 関数を使用するか、ループを使用してそれを実現できます。いずれの場合も、配列を反復処理して要素を比較し、同一の要素の数を取得する必要があります。

以上がPHPで2つの配列に同じ値がいくつあるかを計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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