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

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

Linda Hamilton
リリース: 2025-02-07 11:15:09
オリジナル
847 人が閲覧しました

How to Check If Two Arrays are Equal in PHP?

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

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

  1. 暴力法

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

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

    例:

    <?php
    $array1 = [3, 2, 1];
    $array2 = [1, 2, 3];
    
    sort($array1);
    sort($array2);
    
    if ($array1 == $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    ログイン後にコピー

    output:

    <code>数组相等</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

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

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

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

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

    例:

    <?php
    $arr1 = [1, 2, 3, 4];
    $arr2 = [1, 2, 3, 4];
    
    if ($arr1 == $arr2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    ログイン後にコピー

    output:

    <code>数组相等</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

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

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

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

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

    例:

    <?php
    $array1 = [1, 2, 3];
    $array2 = [3, 2, 1];
    
    if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    ログイン後にコピー

    output:

    <code>数组相等</code>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

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

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

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

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

    例:

    <?php
    $array1 = [1, 2, 3, 4];
    $array2 = [1, 2, '3', 4];
    
    if ($array1 === $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    ログイン後にコピー
    output:

    <code>数组不相等</code>
    ログイン後にコピー
    時間の複雑さ:

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

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

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

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

関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート