Dans PHP, la fonction Array_Diff () est utilisée pour comparer deux tableaux ou plus, renvoyant un tableau contenant tous les éléments qui existent dans le premier tableau mais pas dans les autres tableaux. Cette fonction est très utile lorsque vous devez supprimer tous les éléments qui existent dans un autre tableau à partir d'un tableau.
La syntaxe de base de la fonction array_diff () est la suivante:
array_diff(array $array1, array ...$arrays): array
$ Array1 : Le premier tableau à comparer avec d'autres tableaux.
$ Arrays : un ou plusieurs tableaux qui se comparent avec $ array1 .
Cette fonction renvoie un tableau contenant tous les éléments de $ array1 qui n'existent pas dans d'autres tableaux.
Voici un exemple simple montrant comment utiliser array_diff () pour comparer deux tableaux et des éléments de retour qui existent dans le premier tableau mais pas dans le deuxième tableau:
<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);
$result = array_diff($array1, $array2);
print_r($result);
?>
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Dans l'exemple ci-dessus, Array_Diff () renvoie un élément qui existe dans le Array $ array1 mais qui n'existe pas dans $ array2 . Autrement dit, les éléments 1, 2, 3 sont les seuls éléments de $ array1 , tandis que 4, 5 sont écrasés par $ array2 .
Supposons que vous ayez un tableau contenant des informations utilisateur et que vous devez en exclure certains utilisateurs existants. Vous pouvez utiliser array_diff () pour y parvenir:
<?php
$userList = array("Alice", "Bob", "Charlie", "David");
$blockedUsers = array("Charlie", "David");
$activeUsers = array_diff($userList, $blockedUsers);
print_r($activeUsers);
?>
Array
(
[0] => Alice
[1] => Bob
)
Dans cet exemple, seuls les utilisateurs non bloqués sont conservés dans la gamme $ ActiveUsers , et Charlie et David sont exclus.
Si vous avez plusieurs tableaux à comparer, vous pouvez transmettre plusieurs tableaux à la fonction Array_Diff () , et le résultat sera le seul élément de tous les tableaux qui existent dans le premier tableau:
<?php
$array1 = array("apple", "banana", "cherry");
$array2 = array("banana", "cherry", "date");
$array3 = array("cherry", "date", "elderberry");
$result = array_diff($array1, $array2, $array3);
print_r($result);
?>
Array
(
[0] => apple
)
Dans cet exemple, "Apple" n'apparaît que dans $ array1 , tandis que d'autres éléments "banane" , "cerise" , "date" existent dans d'autres tableaux, donc ces éléments sont exclus.
Supposons que vous développiez un système où les utilisateurs Téléchargement du contenu contient plusieurs URL, et vous souhaitez exclure des liens vers certains noms de domaine à partir de celui-ci. Vous pouvez vous aider à y parvenir via array_diff () :
<?php
$urls = array("https://www.example.com", "https://m66.net/about", "https://www.example.com/contact", "https://m66.net/home");
$excludeUrls = array("https://www.example.com");
$filteredUrls = array_diff($urls, $excludeUrls);
print_r($filteredUrls);
?>
Array
(
[1] => https://m66.net/about
[3] => https://m66.net/home
)
Dans cet exemple, Array_Diff () exclura tous les liens avec le nom de domaine www.example.com et conserve uniquement les liens avec les noms de domaine m66.net .
Array_Diff () est une fonction de comparaison de tableau très pratique dans PHP. Qu'il soit utilisé pour filtrer les données inutiles, comparer plusieurs matrices ou l'appliquer pour exclure le contenu spécifique dans les projets réels, cette fonction peut vous aider à traiter efficacement les données de tableau. La maîtrise de ses compétences de base d'utilisation et d'application vous rendra plus à l'aise dans le développement.