ホームページ >バックエンド開発 >PHPチュートリアル >2 つの PHP 配列間の共有要素を効率的に識別するにはどうすればよいですか?
フラット配列によって共有される要素の識別
2 つのフラット配列が与えられた場合、最初の配列の要素がその中に存在するかどうかを判断する必要が生じる場合があります。 2番目。 PHP では、このタスクは array_intersect() 関数を利用して効率的に実行できます。
この例では、$people = [3, 20] と $criminals = [2, 4, 8] の 2 つの配列があります。 、11、12、13、14、15、16、17、18、19、20]。私たちの目的は、$people にリストされている個人のいずれかが $criminals 配列に存在するかどうかを確認することです。
array_intersect() を使用した解決策
array_intersect() 関数複数の配列を入力として受け取り、すべての入力配列に共通する要素のみを含む配列を返します。この例では、$people の要素が $criminals に存在するかどうかを確認するために、次のコードを使用できます:
$intersection = array_intersect($people, $criminals);
$intersection 配列には、$criminals にも出現する $people の要素が含まれます。 。この例では、両方の配列に 20 が存在するため、$intersection は [20] になります。
交差する要素の検証
$people のいずれかの要素が$criminals では、$intersection 配列が空かどうかを確認できます。そうであれば、$people の要素は $criminals に存在しません。それ以外の場合、少なくとも 1 つの要素が 2 つの配列間で共有されます。
$peopleContainsCriminal = !empty($intersection);
この例では、両方の配列に 20 が存在するため、$peopleContainsCriminal は true と評価されます。
以上が2 つの PHP 配列間の共有要素を効率的に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。