Maison  >  Article  >  développement back-end  >  Comment comparer deux tableaux d'index en php

Comment comparer deux tableaux d'index en php

WBOY
WBOYoriginal
2023-05-22 22:37:37418parcourir

En PHP, nous devons parfois comparer deux tableaux d'index, par exemple vérifier si deux tableaux ont la même valeur ou clé, ou comparer si leurs éléments sont exactement les mêmes. Alors, en PHP, comment comparer deux tableaux d’index ?

Méthode 1 : Utilisez la fonction array_diff() pour comparer les ensembles de différences

La fonction array_diff() peut être utilisée pour comparer l'ensemble de différences de deux tableaux ou plus, et elle renverra Une valeur qui existe dans le premier tableau mais qui n'existe dans aucun autre tableau.

Par exemple, le code suivant peut comparer deux tableaux $a et $b et renvoyer la différence entre eux :

$a = array("apple", "banana", "orange");
$b = array("apple", "pear", "grape");

$diff = array_diff($a, $b);
print_r($diff);

Le résultat de sortie est :

Array ( [1] => banana [2] => orange )
# 🎜🎜#Nous pouvons voir que le résultat $diff contient des valeurs qui existent dans le tableau $a mais n'existent pas dans le tableau $b (c'est-à-dire "banane" et "orange").

Si nous devons comparer l'intersection ou l'union de deux tableaux, nous pouvons également utiliser les fonctions array_intersect() et array_merge() pour y parvenir.

Méthode 2 : Utilisez une boucle pour comparer un par un

Une autre façon de comparer deux tableaux d'index consiste à utiliser une boucle pour comparer leurs éléments un par un. Nous pouvons utiliser une boucle for ou une boucle foreach pour parcourir le tableau et comparer leurs valeurs ou paires clé-valeur une par une pour voir si elles sont égales.

Le code suivant montre comment utiliser une boucle foreach pour parcourir deux tableaux $a et $b et comparer si leurs valeurs sont égales :

$a = array("apple", "banana", "orange");
$b = array("apple", "pear", "grape");

$result = true;
foreach ($a as $key => $value) {
    if (!isset($b[$key]) || $b[$key] != $value) {
        $result = false;
        break;
    }
}

if ($result) {
    echo "两个数组的元素完全相同!";
} else {
    echo "两个数组的元素不完全相同!";
}

Le résultat de sortie est : #🎜🎜 #
两个数组的元素不完全相同!

Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir le tableau $a, et utilisons la fonction isset() pour vérifier si la même clé que le tableau $a existe dans le $b tableau. S'il n'existe pas, cela signifie que les éléments des tableaux $a et $b ne sont pas exactement les mêmes.

En même temps, nous comparons également les éléments avec la même clé dans les tableaux $a et $b un par un pour voir s'ils sont égaux. S’ils ne sont pas égaux, leurs éléments sont également différents.

Il convient de noter que les deux méthodes ci-dessus conviennent pour comparer deux tableaux d'index. Si vous devez comparer deux tableaux associatifs, vous pouvez utiliser la fonction array_diff_assoc() ou parcourir manuellement pour les comparer un par un.

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!

Déclaration:
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