Maison > développement back-end > tutoriel php > Comment vérifier si deux tableaux sont égaux en PHP?

Comment vérifier si deux tableaux sont égaux en PHP?

Linda Hamilton
Libérer: 2025-02-07 11:15:09
original
972 Les gens l'ont consulté

How to Check If Two Arrays are Equal in PHP?

Méthode de vérification de l'égalité du tableau PHP

Dans PHP, déterminer si les deux tableaux sont égaux signifie que les éléments du tableau sont les mêmes, l'ordre est cohérent et même les types de données correspondent. Cet article présentera plusieurs méthodes pour vérifier l'égalité du tableau en php:

  1. Loi sur la violence

    Cette méthode trie d'abord les deux tableaux, puis les compare à l'aide de l'opérateur ==. Trier pour garantir que l'ordre des éléments n'affecte pas les résultats de comparaison.

    Exemple:

    <?php
    $array1 = [3, 2, 1];
    $array2 = [1, 2, 3];
    
    sort($array1);
    sort($array2);
    
    if ($array1 == $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Copier après la connexion

    Sortie:

    <code>数组相等</code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Complexité temporelle: o (n log n) Complexité de l'espace: o (1)

  2. Utilisez l'opérateur ==

    C'est un moyen de comparer directement les éléments du tableau. L'opérateur == vérifie si les deux tableaux sont de la même taille et contiennent les mêmes éléments, et l'ordre doit également être le même. Cette méthode est simple et facile à utiliser, mais elle n'est pas stricte avec les types de données. Par exemple, Integer 3 et String '3' sont considérés comme égaux.

    Exemple:

    <?php
    $arr1 = [1, 2, 3, 4];
    $arr2 = [1, 2, 3, 4];
    
    if ($arr1 == $arr2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Copier après la connexion

    Sortie:

    <code>数组相等</code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Complexité temporelle: o (n) Complexité de l'espace: o (1)

  3. Utiliser array_diff() Méthodes

    Il s'agit d'une fonction intégrée pour PHP pour trouver les différences entre deux tableaux. Si array_diff() renvoie un tableau vide, cela signifie que les deux tableaux sont égaux. Cette méthode est souvent utilisée pour comparer les tableaux d'éléments désordonnés et uniques.

    Exemple:

    <?php
    $array1 = [1, 2, 3];
    $array2 = [3, 2, 1];
    
    if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Copier après la connexion

    Sortie:

    <code>数组相等</code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Complexité temporelle: o (n) Complexité de l'espace: o (n)

  4. Utilisez l'opérateur ===

    === L'opérateur effectue une comparaison stricte des éléments de tableau, il vérifie:

    • La taille des deux tableaux est-elle la même?
    • si deux tableaux contiennent les mêmes éléments doivent également être les mêmes dans l'ordre
    • Le type de données de l'élément est-il le même?

    Renvoie false si une condition n'est pas satisfaite. Cette méthode fait une comparaison plus précise en considérant les types.

    Exemple:

    <?php
    $array1 = [1, 2, 3, 4];
    $array2 = [1, 2, '3', 4];
    
    if ($array1 === $array2) {
        echo "数组相等";
    } else {
        echo "数组不相等";
    }
    ?>
    Copier après la connexion

    Sortie:

    <code>数组不相等</code>
    Copier après la connexion

    Complexité temporelle: o (n) Complexité de l'espace: o (1)

La méthode à choisir dépend du scénario d'application spécifique et des exigences pour la correspondance du type de données. Si une vérification de type stricte est requise, utilisez l'opérateur ===; si elle n'est pas sensible à type, utilisez l'opérateur == ou la méthode array_diff(). Pour les tableaux non ordonnés, la méthode array_diff() est plus appropriée. Bien que les méthodes de force brute puissent gérer les tableaux désordonnés, ils sont relativement inefficaces.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal