Dans PHP, la fonction Array_Diff () est utilisée pour comparer deux tableaux ou plus et renvoyer toutes les valeurs contenues dans l'un des premiers tableaux mais pas dans les autres tableaux. En termes simples, array_diff () peut vous aider à trouver des éléments différents entre deux tableaux.
array_diff(array $array1, array $array2, array ...$arrays): array
$ array1 : le premier tableau, comme le tableau de référence.
$ array2, ... $ Arrays : un ou plusieurs tableaux à comparer avec le premier tableau.
Array_Diff () renvoie un nouveau tableau d'éléments contenus dans $ array1 mais pas dans d'autres tableaux d'arguments. En d'autres termes, la différence entre le premier tableau et le tableau de repos est renvoyée.
<?php
$array1 = ["apple", "banana", "cherry", "date"];
$array2 = ["banana", "date", "elderberry"];
$result = array_diff($array1, $array2);
print_r($result);
?>
Array
(
[0] => apple
[2] => cherry
)
Dans l'exemple ci-dessus, $ array1 contient quatre éléments: "Apple", "Banana", "Cherry" et "Date" et $ array2 contient trois éléments: "Banana", "Date" et "Elderberry". Par array_diff ($ array1, $ array2), nous pouvons trouver des éléments dans $ array1 mais pas dans $ array2 . Dans cet exemple, le résultat est ["Apple", "Cherry"] .
array_diff () peut également traiter plusieurs tableaux. Si plusieurs tableaux sont passés, il calcule la différence entre le premier tableau et tous les autres tableaux.
<?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "cherry", "date"];
$array3 = ["cherry", "date", "elderberry"];
$result = array_diff($array1, $array2, $array3);
print_r($result);
?>
Array
(
[0] => apple
)
Dans cet exemple, $ array1 contient "Apple", "Banana", "Cherry", $ array2 contient "Banana", "Cherry", "Date", et $ array3 contient "Cherry", "Date", "Elderberry". La fin est retournée ["Apple"] car c'est le seul élément qui existe dans $ array1 et non dans d'autres tableaux.
En règle générale, vous devrez peut-être rechercher différents éléments entre deux tableaux, et Array_Diff () est l'outil idéal pour implémenter cela. Supposons que nous ayons deux tableaux, l'une est les données obtenues à partir de la base de données et l'autre est obtenue via l'interface API, et nous voulons trouver différentes parties de ces deux sources de données.
<?php
$dbData = ["apple", "banana", "cherry", "date"];
$apiData = ["banana", "cherry", "elderberry", "fig"];
$diff = array_diff($dbData, $apiData);
print_r($diff);
?>
Array
(
[0] => apple
[3] => date
)
Dans cet exemple, nous avons deux tableaux: $ dbdata et $ apidata . Via array_diff () , nous pouvons trouver des éléments qui existent dans dbdata mais pas dans les apidata . La sortie finale est ["Apple", "Date"] .
Comparaison des données : vous pouvez utiliser array_diff () pour trouver la différence entre les données existantes dans la base de données et les données renvoyées par l'API. Par exemple, comparez les données d'inventaire des produits locales et distantes pour trouver des produits nouveaux ou manquants.
Deduplication : Grâce à l'opération de définition de différence avec les tableaux existants, vous pouvez supprimer les données en double pour assurer la cohérence des données.
MISE À JOUR : Si vous obtenez des données de différentes sources et que vous devez savoir quels éléments sont nouveaux ou supprimés, Array_Diff () peut être très pratique pour vous de porter des jugements.
Array_Diff () est une fonction très utile dans PHP, qui peut facilement nous aider à trouver les différences entre les tableaux, qu'il s'agisse d'une comparaison entre deux tableaux ou plusieurs tableaux. En utilisant Array_Diff () raisonnablement, nous pouvons gérer efficacement les tâches telles que la comparaison des données, la déduplication et la mise à jour.