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