ホームページ >バックエンド開発 >PHPチュートリアル >PHPで2つの配列が等しいかどうかを確認する方法は?

PHPで2つの配列が等しいかどうかを確認する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2025-02-07 11:15:09902ブラウズ

How to Check If Two Arrays are Equal in PHP?

PHPアレイ等自己チェック方法

PHPでは、2つの配列が等しいかどうかを判断することは、配列要素が同じであり、順序が一貫しており、データ型が一致することを意味します。この記事では、PHPで配列の平等を確認するためのいくつかの方法を紹介します:

  1. 暴力法

    このメソッドは最初に2つの配列を並べ替え、次に

    演算子を使用して比較します。要素の順序が比較結果に影響しないことを確認するために並べ替えます。 ==

    例:

    <code class="language-php"><?php
    $array1 = [3, 2, 1];
    $array2 = [1, 2, 3];
    
    sort($array1);
    sort($array2);
    
    if ($array1 == $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?></code>

    output:

    <code>数组相等</code>

    時間の複雑さ:o(n log n) スペースの複雑さ:o(1)

  2. オペレーター==を使用します

    これは、配列要素を直接比較する方法です。

    演算子は、2つの配列が同じサイズであり、同じ要素が含まれているかどうかを確認し、順序も同じでなければなりません。この方法はシンプルで使いやすいですが、データ型では厳密ではありません。たとえば、整数3と文字列「3」は等しいと見なされます。 ==

    例:

    <code class="language-php"><?php
    $arr1 = [1, 2, 3, 4];
    $arr2 = [1, 2, 3, 4];
    
    if ($arr1 == $arr2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?></code>

    output:

    <code>数组相等</code>

    時間の複雑さ:o(n) スペースの複雑さ:o(1)

  3. メソッドを使用array_diff()

    これは、2つの配列間の違いを見つけるためのPHPの組み込み関数です。

    が空の配列を返す場合、2つの配列が等しいことを意味します。この方法は、多くの場合、無秩序でユニークな要素の配列を比較するために使用されます。 array_diff()

    例:

    <code class="language-php"><?php
    $array1 = [1, 2, 3];
    $array2 = [3, 2, 1];
    
    if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?></code>

    output:

    <code>数组相等</code>

    時間の複雑さ:o(n) スペースの複雑さ:o(n)

  4. オペレーター===を使用します

    オペレーターは厳格な配列要素の比較を実行します。 ===

    2つの配列のサイズは同じですか?
      です
    • 2つの配列に同じ要素が含まれているかどうかは、順序でも同じでなければなりません
    • 要素のデータ型は同じですか?
    • です
    • 条件が満たされていない場合はfalseを返します。この方法は、タイプを考慮することにより、より正確な比較を行います。

    例:

    <code class="language-php"><?php
    $array1 = [1, 2, 3, 4];
    $array2 = [1, 2, '3', 4];
    
    if ($array1 === $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?></code>
    output:

    <code>数组不相等</code>
    時間の複雑さ:

    o(n) スペースの複雑さ:o(1)

  5. 選択する方法は、特定のアプリケーションシナリオとデータ型マッチングの要件に依存します。厳密なタイプのチェックが必要な場合は、
オペレーターを使用してください。順序付けられていないアレイの場合、

メソッドがより適しています。 ブルートフォースの方法は無秩序なアレイを処理できますが、比較的非効率的です。 ===

以上がPHPで2つの配列が等しいかどうかを確認する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。