ホームページ > バックエンド開発 > PHPチュートリアル > PHP で 1 つの配列に別の配列のすべての値が含まれているかどうかを確認するにはどうすればよいですか?

PHP で 1 つの配列に別の配列のすべての値が含まれているかどうかを確認するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-02 11:32:02
オリジナル
952 人が閲覧しました

How to Determine if One Array Contains All Values of Another Array in PHP?

Array_diff による配列の包含の決定

プログラミングの領域内では、データ構造は情報の管理において重要な役割を果たします。配列は一般的なデータ構造であり、要素を順番に保存したりアクセスしたりすることができます。配列操作で発生する基本的なタスクは、ある配列に別の配列に存在するすべての値が含まれているかどうかを確認することです。このクエリには、効率的で洗練されたソリューションが必要です。

次の状況を考えてみましょう: $all と $search_this という 2 つの配列が与えられています。私たちの目的は、$all が $search_this で見つかったすべての値を包含するかどうかを評価することです。

<code class="php">$all = array(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array(
    0 => 200,
    1 => 234
);</code>
ログイン後にコピー

Array_diff を使用したシンプルで効果的なアプローチ

最も簡単な解決策は、 PHP 関数 array_diff。この関数は 2 つの配列を比較し、最初の配列には存在するが 2 番目の配列には存在しない要素を含む配列を返します。 array_diff($search_this, $all) を呼び出すと、$all に存在しない $search_this の値で構成される配列が作成されます。

次に、$all に $search_this のすべての値が含まれているかどうかを確認します。では、array_diff の結果が空かどうかを確認するだけです。差分配列が空の場合は、$all に $search_this のすべての値が含まれていることを意味し、true を返します。それ以外の場合は false を返します。

<code class="php">$containsAllValues = !array_diff($search_this, $all);</code>
ログイン後にコピー

このメソッドは、PHP の組み込みの配列比較機能を利用するため、簡潔かつ効率的です。言語固有の機能を利用することで、複雑な反復アルゴリズムや比較アルゴリズムを自分で実装する必要がなくなります。

以上がPHP で 1 つの配列に別の配列のすべての値が含まれているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート