"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment déterminer si un tableau contient toutes les valeurs d'un autre tableau à l'aide de array_diff ?

Comment déterminer si un tableau contient toutes les valeurs d'un autre tableau à l'aide de array_diff ?

Publié le 2024-11-18
Parcourir:443

How to Determine if an Array Contains All Values from Another Array using array_diff?

Utilisation de array_diff pour vérifier l'inclusion des valeurs d'un tableau

Déterminer si un tableau contient toutes les valeurs d'un autre tableau est une tâche de programmation courante. Prenons l'exemple suivant :

Tableaux donnés $all et $search_this, définis comme :

$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);

Nous visons à vérifier si $all inclut tous les éléments présents dans $search_this.

Utiliser array_diff pour une comparaison efficace

Pour y parvenir comparaison, l’approche la plus efficace consiste à utiliser la fonction array_diff, qui renvoie un tableau d’éléments trouvés dans le premier tableau mais pas dans le second. En l'appliquant à notre cas, nous pouvons déduire si $all contient toutes les valeurs de $search_this.

$containsAllValues = !array_diff($search_this, $all);

Si le le tableau résultant est vide (c'est-à-dire qu'aucune différence n'est trouvée), cela implique que $all contient toutes les valeurs de $search_this. Par conséquent, $containsAllValues ​​sera défini sur true. Sinon, ce sera faux. Cette méthode résout efficacement le problème avec une complexité minimale et une mise en œuvre simple.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3