「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > array_diff を使用して、配列に別の配列のすべての値が含まれているかどうかを確認するにはどうすればよいですか?

array_diff を使用して、配列に別の配列のすべての値が含まれているかどうかを確認するにはどうすればよいですか?

2024 年 11 月 18 日に公開
ブラウズ:425

How to Determine if an Array Contains All Values from Another Array using array_diff?

array_diff を使用した配列値の包含のチェック

配列に別の配列の値がすべて含まれているかどうかを判断するのは、一般的なプログラミング タスクです。次の例を考えてみましょう。

配列 $all および $search_this が指定され、次のように定義されます:

$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);

$all に $search_this に存在するすべての要素が含まれているかどうかを確認することを目的としています。

効率的な比較のための array_diff の利用

これを達成するには比較すると、最も効率的なアプローチは、array_diff 関数を利用することです。この関数は、最初の配列にはあるが 2 番目の配列には見つからない要素の配列を返します。これを今回のケースに適用すると、$all に $search_this.

$containsAllValues = !array_diff($search_this, $all);

If のすべての値が含まれているかどうかを推測できます。結果の配列が空である (つまり、違いが見つからない) 場合、$all には $search_this のすべての値が含まれていることを意味します。その結果、$containsAllValues は true に設定されます。それ以外の場合は false になります。この方法は、最小限の複雑さと簡単な実装で問題を効果的に解決します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3