ホームページ  >  記事  >  バックエンド開発  >  PHPで2つの配列の共通部分をクエリする方法

PHPで2つの配列の共通部分をクエリする方法

PHPz
PHPzオリジナル
2023-04-27 09:11:29639ブラウズ

PHP を使用した開発プロセスでは、配列を操作する必要がよくあります。一般的な操作の 1 つは、2 つの配列の共通部分をクエリすることです。たとえば、クラス A とクラス B の 2 つの生徒リストがある場合、両方のクラスの生徒のリストをクエリする必要がある場合があります。

PHP では、2 つの配列の共通部分のクエリは非常に簡単で、array_intersect() 関数を使用して実行できます。この関数は 2 つ以上の配列を引数として受け取り、入力配列内で同時に発生するすべての値を含む新しい配列を返します。以下は例です:

$studentsA = array("Alice", "Bob", "Charlie", "David");
$studentsB = array("Charlie", "David", "Eve", "Frank");
$commonStudents = array_intersect($studentsA, $studentsB);
print_r($commonStudents);

上記のコードを実行すると、出力は次のようになります:

Array (
  [2] => Charlie
  [3] => David
)

上記のコードでは、クラス A とクラス B の 2 つの生徒リストを作成しました。リスト。 array_intersect() 関数を使用して、これら 2 つの配列の共通部分を取得し、結果を $commonStudents 変数に保存します。最後に、print_r() 関数を使用して、$commonStudents 変数の内容を出力します。

上で述べたように、array_intersect() 関数は 2 つ以上の配列をパラメータとして受け入れます。複数の配列の共通部分をクエリする必要がある場合は、関数呼び出しにさらに配列を追加するだけです。例:

$studentsA = array("Alice", "Bob", "Charlie", "David");
$studentsB = array("Charlie", "David", "Eve", "Frank");
$studentsC = array("Alice", "Eve", "Grace", "Helen");
$commonStudents = array_intersect($studentsA, $studentsB, $studentsC);
print_r($commonStudents);

上記のコードを実行すると、出力結果は次のようになります:

Array (
    [0] => Alice
)

上記のコードでは、クラス A、B の生徒リストである 3 つの生徒リストを作成しました。そしてC. array_intersect() 関数を使用して、これら 3 つの配列の共通部分を取得し、結果を $commonStudents 変数に保存します。最後に、print_r() 関数を使用して、$commonStudents 変数の内容を出力します。

array_intersect() 関数を使用する際に注意すべき点は、この関数はキーではなく配列の値のみを比較するということです。つまり、2 つの配列の値が同じでキーが異なる場合、array_intersect() 関数はそれらを異なる要素として扱います。 2 つの配列をキーで比較する必要がある場合は、array_intersect_key() 関数を使用できます。

上記では、PHP で 2 つの配列の交差をクエリする方法を説明し、また、複数の配列の交差をクエリする方法も紹介しています。これらの機能を利用することで配列の操作がより便利になり、開発効率が向上します。

以上がPHPで2つの配列の共通部分をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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