ホームページ  >  記事  >  バックエンド開発  >  PHP は 2 つの配列の交差アルゴリズムを実装します

PHP は 2 つの配列の交差アルゴリズムを実装します

PHPz
PHPzオリジナル
2023-05-07 17:44:08620ブラウズ

PHP では、2 つの配列の共通部分を見つけるアルゴリズムは非常に単純です。このアルゴリズムは、開発者が 2 つの配列の共通要素を迅速に取得するのに役立ち、データの相互比較などのシナリオでよく使用されます。実装方法を見てみましょう。

まず、比較する 2 つの配列 $a と $b を作成します。

$a = array(1, 2, 3, 4, 5);
$b = array(3, 4, 5, 6, 7);

PHP には、交差部分 array_intersect() を見つけるための組み込み関数があります。この関数を通じて、2 つの配列の共通部分を取得できます。

$intersection = array_intersect($a, $b);

上記のコードでは、$intersection は 2 つの配列の共通部分です。 $intersection の値を出力すると、結果が次のようになっていることがわかります。

array(3, 4, 5)

array_intersect() を使用することに加えて、より汎用的なループを使用することもできます。解決方法。具体的な実装プロセスは次のとおりです。

  1. 空の配列 $common を宣言します。
  2. 配列 $a の各要素をループし、それが配列 $b に存在するかどうかを確認します。
  3. 存在する場合は、その要素を $common 配列に追加します。

次は、特定の実装のコード例です:

$a = array(1, 2, 3, 4, 5);
$b = array(3, 4, 5, 6, 7);

$common = array();

foreach ($a as $key => $value) {
    if (in_array($value, $b)) {
        $common[] = $value;
    }
}

print_r($common);

上記のコードは、in_array() 関数を使用して、$a 内の各要素が配列 $b 配列に存在します。存在する場合は、$common 配列に追加します。最後に、$common 配列の値を出力すると、array_intersect() 関数と同じ結果が得られます。

array(3, 4, 5)

要約すると、PHP は以下を実装します。 2 つの配列の交差アルゴリズム array_intersect() 関数を使用する方法とループ判定方法を使用する方法があります。データ量が少ない場合は、より効率的な array_intersect() 関数を使用することをお勧めします。データ量が多い場合や独自の判定条件が必要な場合には、柔軟に対応できるループ判定方式を推奨します。

以上がPHP は 2 つの配列の交差アルゴリズムを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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