Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction Array_Diff () de PHP pour trouver des éléments uniques dans un tableau?

Comment utiliser la fonction Array_Diff () de PHP pour trouver des éléments uniques dans un tableau?

M66 2025-06-24

Au cours du processus de développement, nous rencontrons souvent des situations où nous devons comparer deux tableaux ou plus, en particulier à découvrir un certain tableau. PHP offre une fonction intégrée très pratique - array_diff () , qui peut facilement accomplir cette tâche.

1. Qu'est-ce que Array_Diff ()?

Array_Diff () est une fonction de PHP pour comparer les différences de tableau. Il renvoie un tableau contenant des éléments qui n'apparaissent que dans le premier tableau et ne renvoie aucune valeur qui existe dans le tableau suivant.

Prototype de fonction:

 array array_diff(array $array1, array ...$arrays)
  • $ array1 est le tableau principal que vous souhaitez comparer.

  • $ Les tableaux sont un ou plusieurs tableaux que vous souhaitez comparer avec le tableau principal.

2. Utilisez des exemples

Exemple 1: découvrez les nouveaux passe-temps de l'utilisateur

Supposons que nous enregistrons les intérêts originaux de l'utilisateur et les nouveaux intérêts soumis par l'utilisateur et que nous voulons savoir lesquels sont nouveaux .

 <?php
$originalInterests = ['musique', 'Film', 'voyage'];
$newInterests = ['musique', 'Film', 'voyage', 'photographie', 'lire'];

$addedInterests = array_diff($newInterests, $originalInterests);

print_r($addedInterests);
?>

Sortir:

 Array
(
    [3] => photographie
    [4] => lire
)

Comme vous pouvez le voir, Array_Diff () renvoie des éléments qui n'apparaissent que dans $ New Interests , qui est le nouvel intérêt de l'utilisateur.

3. Combinant des exemples d'URL

Supposons que vous souhaitiez filtrer les URL que l'utilisateur a soumis et en laisser les nouveaux lorsque vous traitez une liste de sites Web soumis par un utilisateur.

 <?php
$existingUrls = [
    'https://m66.net/article/123',
    'https://m66.net/blog/2024',
];

$submittedUrls = [
    'https://m66.net/article/123',
    'https://m66.net/tools/checker',
    'https://m66.net/blog/2024',
    'https://m66.net/contact',
];

$newUrls = array_diff($submittedUrls, $existingUrls);

print_r($newUrls);
?>

Sortir:

 Array
(
    [1] => https://m66.net/tools/checker
    [3] => https://m66.net/contact
)

Les résultats montrent que les deux URL soumises par l'utilisateur sont nouvelles et ne sont pas apparues dans la liste originale.

4. Choses à noter

  • Array_Diff () est comparé par les valeurs et utilise le mode non strict (sans comparaison de types de données), tels que «1» et 1, sont considérés comme les mêmes.

  • Si vous devez utiliser une comparaison stricte (c'est-à-dire que vous devez comparer les types de données), vous pouvez utiliser array_diff_assoc () ou array_diff_key () .

  • Le résultat de retour maintient le nom de clé dans le tableau d'origine. Si vous n'avez pas besoin du nom de clé, vous pouvez réindexer avec array_values ​​() .

 $cleanList = array_values(array_diff($newUrls, $existingUrls));

5. Résumé

Array_Diff () est un outil très puissant, adapté au filtrage des données, à la comparaison des journaux, à l'analyse du comportement des utilisateurs et à d'autres scénarios. Tant que vous comprenez comment cela fonctionne, une grande partie de la logique de traitement des tableaux peut devenir simple et efficace.

J'espère que cet article vous aide à mieux comprendre et utiliser array_diff () ! Si vous rencontrez des problèmes de développement similaires, vous pourriez aussi bien essayer cette fonction, ce qui peut vous économiser beaucoup de code.