Maison  >  Article  >  développement back-end  >  PHP renvoie le tableau de différence de deux tableaux

PHP renvoie le tableau de différence de deux tableaux

王林
王林avant
2024-03-21 09:32:06785parcourir

L'éditeur PHP Xigua vous présentera comment utiliser PHP pour renvoyer le tableau de différence de deux tableaux. Un tableau de différence fait référence à un nouveau tableau formé en prenant des éléments du premier tableau qui ne figurent pas dans le deuxième tableau. Cette fonctionnalité peut être facilement obtenue en utilisant la fonction array_diff(). Passez simplement deux tableaux comme arguments et la fonction renverra un nouveau tableau contenant les éléments de l'ensemble de différences. Cette méthode est très pratique et rapide et convient pour résoudre divers problèmes de fonctionnement des baies.

Comment utiliser PHP pour renvoyer le tableau de différence de deux tableaux

Dans php, nous pouvons renvoyer la différence de deux tableaux en utilisant la fonction array_diff(). Cette fonction accepte deux tableaux comme arguments et renvoie un nouveau tableau contenant tous les éléments du premier tableau qui ne sont pas dans le deuxième tableau.

Grammaire :

array_diff(array1, array2);

Paramètres :

  • array1 : Le tableau dont supprimer les éléments.
  • array2 : Le tableau où se trouve l'élément à supprimer.

Valeur de retour :

Un nouveau tableau contenant tous les éléments de array1中所有不在array2 qui ne sont pas dans

.

Exemple :

$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4];

$diff = array_diff($array1, $array2);

print_r($diff); // 输出:Array ( [0] => 1 [1] => 3 [2] => 5 )
array_diff()函数返回了一个包含array1中的元素1、3和5的新数组,因为这些元素不在array2Dans l'exemple ci-dessus, la fonction

renvoie un nouveau tableau contenant les éléments 1, 3 et 5 dans

, puisque ces éléments ne sont pas dans .

Fonction de comparaison personnalisée : array_udiff()

Nous pouvons utiliser la fonction pour personnaliser la fonction de comparaison afin de déterminer quels éléments doivent être supprimés du premier tableau.

Grammaire :

array_udiff(array1, array2, callback);

    Paramètres :
  • array1
  • array2 : Le tableau dont supprimer les éléments.
  • callback : Le tableau où se trouve l'élément à supprimer.

 : Une fonction de comparaison définie par l'utilisateur qui accepte deux éléments comme arguments et renvoie -1 (si le premier élément doit être supprimé), 0 (si les deux éléments sont égaux) ou 1 (si le deuxième élément doit être supprimé).

Exemple : array_udiff()函数来比较数组中对象的name属性。它返回了一个包含array1中所有name属性与array2

$array1 = [
["name" => "John", "age" => 30],
["name" => "Mary", "age" => 25],
["name" => "Bob", "age" => 40],
];

$array2 = [
["name" => "Mary", "age" => 25],
];

$diff = array_udiff($array1, $array2, function ($a, $b) {
return strcmp($a["name"], $b["name"]);
});

print_r($diff); // 输出:Array ( [0] => Array ( [name] => John [age] => 30 ) [1] => Array ( [name] => Bob [age] => 40 ) )

Dans l'exemple ci-dessus, nous utilisons la fonction pour comparer la propriété name des objets du tableau. Il renvoie un nouveau tableau contenant toutes les propriétés name dans et les différents objets dans

.
  • array_diff()array_udiff()Attention :
  • Les fonctions
  • et
  • compareront uniquement les éléments du tableau avec le même array_keys()array_values()index
  • .
🎜Si deux tableaux ont des clés différentes, ces clés seront ignorées et seuls les éléments ayant la même clé seront comparés. 🎜 🎜Nous pouvons utiliser la fonction 🎜 pour obtenir une liste de toutes les clés ou valeurs d'un tableau afin de pouvoir comparer les tableaux en fonction de différents critères. 🎜 🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer