Comment comparer deux tableaux différents en PHP

PHPz
Libérer: 2023-04-24 17:14:44
original
685 Les gens l'ont consulté

En PHP, les tableaux sont un type de données très important, ils permettent de stocker un groupe d'éléments de données liés dans la même variable. L'utilisation de tableaux peut grandement améliorer la lisibilité et la maintenabilité de votre code. Cependant, dans la programmation réelle, il est souvent nécessaire d'opérer sur des tableaux, par exemple pour trouver la différence entre deux tableaux. Cet article explique comment comparer deux tableaux différents en PHP.

Tout d'abord, créons deux tableaux différents pour mieux montrer comment les comparer :

$array1 = array("apple", "banana", "orange", "pear");
$array2 = array("banana", "orange", "grapefruit");
Copier après la connexion
Copier après la connexion

Examinons les différences entre ces deux tableaux. Nous pouvons utiliser la fonction intégrée PHP array_diff() pour trouver les différences entre deux tableaux. La syntaxe de cette fonction est la suivante :

array_diff(array1, array2, array3...)
Copier après la connexion

Parmi eux, array1, array2, array3, etc. se trouvent les tableaux à comparer, et il peut y avoir plusieurs tableaux.

Maintenant, utilisons la fonction array_diff() pour trouver la différence entre $array1 et $array2. Le code est le suivant :

$diff = array_diff($array1, $array2);
print_r($diff);
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [0] => apple
    [3] => pear
)
Copier après la connexion

Nous pouvons voir que le résultat de sortie est la différence entre les deux tableaux "pomme" et "poire" dans $array1 n'existent pas dans $array2. .

Et si nous voulons trouver la différence entre $array2 et $array1 ? Il suffit d'échanger l'ordre des tableaux dans le code ci-dessus. Le code est le suivant :

$diff = array_diff($array2, $array1);
print_r($diff);
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [2] => grapefruit
)
Copier après la connexion

Nous pouvons voir que le résultat de sortie est la différence entre les deux tableaux "pamplemousse" dans $array2 n'existe pas dans $array1.

Dans la programmation réelle, vous pouvez rencontrer la situation de comparer les différences entre plusieurs tableaux. À ce stade, nous pouvons utiliser une variante de la fonction intégrée array_diff() de PHP : array_diff_key() pour comparer les paires clé-valeur entre plusieurs tableaux.

La syntaxe est la suivante :

array_diff_key(array1, array2, array3...)
Copier après la connexion

Maintenant, regardons un exemple. Nous créons trois tableaux comme suit :

$array1 = array("name" => "Tom", "age" => 20, "gender" => "male");
$array2 = array("name" => "Jack", "age" => 22, "gender" => "male", "hobby" => "swimming");
$array3 = array("name" => "Alice", "age" => 24, "gender" => "female", "hobby" => "reading");
Copier après la connexion

Nous pouvons utiliser la fonction array_diff_key() pour trouver les différences entre les trois tableaux ci-dessus. Le code est le suivant :

$diff = array_diff_key($array1, $array2, $array3);
print_r($diff);
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [name] => Tom
    [age] => 20
    [gender] => male
)
Copier après la connexion

Nous pouvons voir que le résultat de sortie est la différence entre les trois tableaux. Les paires clé-valeur dans $array1 n'existent pas dans $array2 et $. tableau3.

Enfin, parlons de ce qu'il faut faire si vous devez trouver les mêmes éléments dans deux tableaux en même temps. Pour le moment, nous pouvons utiliser la fonction intégrée PHP array_intersect(). La syntaxe de cette fonction est la suivante :

array_intersect(array1, array2, array3...)
Copier après la connexion

Parmi eux, array1, array2, array3, etc. se trouvent les tableaux à comparer, et il peut y avoir plusieurs tableaux.

Maintenant, regardons un exemple. Nous créons deux tableaux comme suit :

$array1 = array("apple", "banana", "orange", "pear");
$array2 = array("banana", "orange", "grapefruit");
Copier après la connexion
Copier après la connexion

Nous pouvons utiliser la fonction array_intersect() pour trouver les mêmes éléments entre les deux tableaux ci-dessus. Le code est le suivant :

$intersect = array_intersect($array1, $array2);
print_r($intersect);
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [1] => banana
    [2] => orange
)
Copier après la connexion

On peut voir que le résultat de sortie est constitué des éléments communs entre les deux tableaux, à savoir "banane" et "orange".

Ce qui précède explique comment comparer différents tableaux PHP. Dans la programmation réelle, nous devons choisir la méthode à utiliser pour les calculs de tableaux en fonction de besoins spécifiques.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal