PHP コードを記述するとき、2 つの配列間に共通部分があるかどうかを確認する必要があることがよくあります。この記事では、PHP を使用して 2 つの配列間の交差を検出する方法を学びます。
PHP 組み込み関数 array_intersect() を使用すると、2 つの配列に共存する要素を返すことができます。
この関数の基本的な構文は次のとおりです。
array_intersect(array1,array2,array3...)
このうち、配列 1、配列 2、配列 3 などは、交差を計算する必要がある配列パラメーターです。
以下は、array_intersect() 関数を使用して 2 つの配列間の交差を検出する方法の簡単な例です。
$colors1 = array("red", "green", "blue", "yellow"); $colors2 = array("purple", "green", "yellow", "white"); $intersection = array_intersect($colors1, $colors2); print_r($intersection);
上の例では、それぞれにいくつかの色の値を含む 2 つの配列 $colors1 と $colors2 を作成しました。 array_intersect() 関数を使用して、これら 2 つの配列の交差部分を計算し、結果を $intersection 変数に保存します。
最後に、print_r() 関数を使用して結果を出力すると、2 つの配列の共通要素が「green」と「 yellow」であることがわかります。
array_intersect() 関数の使用に加えて、array_intersect_assoc() 関数も使用できます。
この関数は array_intersect() 関数に似ていますが、要素のキーと値のペアも比較します。つまり、両方の配列に同じキーと値が存在する場合にのみ、要素が交差部分に含まれます。
以下はサンプル コードです:
$colors1 = array("red" => "FF0000", "green" => "00FF00", "blue" => "0000FF", "yellow" => "FFFF00"); $colors2 = array("purple" => "800080", "green" => "008000", "yellow" => "FFFF00", "white" => "FFFFFF"); $intersection = array_intersect_assoc($colors1, $colors2); print_r($intersection);
上記のコードでは、2 つの配列 $colors1 と $colors2 を作成し、対応する RGB カラー コードを色の値に割り当てました。配列内で。次に、array_intersect_assoc() 関数を使用してこれら 2 つの配列の交差を計算し、結果を $intersection 変数に保存します。
最後に、print_r() 関数を使用して結果を出力すると、両方の配列で同じキーと値を持つ要素が「黄色」であることがわかります。
実際の開発では、通常、if ステートメントを使用して、2 つの配列間に交差があるかどうかを検出します。
以下はサンプル コードです:
$colors1 = array("red", "green", "blue", "yellow"); $colors2 = array("purple", "green", "yellow", "white"); $intersection = array_intersect($colors1, $colors2); if (count($intersection) > 0) { echo "These arrays have intersections!"; } else { echo "These arrays do not have intersections."; }
上記のコードでは、まず array_intersect() 関数を使用して 2 つの配列の交差部分を計算し、結果を $intersection 変数に保存します。 。次に、count() 関数を使用して、$intersection 配列内の要素の数を検出します。少なくとも 1 つの要素がある場合は、「これらの配列には交差があります!」というメッセージが出力され、そうでない場合は、「これらの配列には交差がありません。」が出力されます。
概要
2 つの配列間に共通部分があるかどうかを検出することは、PHP プログラミングにおける一般的なタスクの 1 つです。 PHP には、2 つの配列間の交差部分を計算する array_intersect() 関数と array_intersect_assoc() 関数が用意されています。さらに、開発者は if ステートメントを使用して、2 つの配列間に共通部分があるかどうかを判断することもできます。
以上がPHPで2つの配列が交差するかどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。