Maison >développement back-end >tutoriel php >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 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 17:59:30830parcourir

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

Utiliser 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 :

Étant donné les tableaux $all et $search_this, définis comme :

<code class="php">$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);</code>

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

Utiliser array_diff pour une comparaison efficace

Pour réaliser cette 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 la seconde. En l'appliquant à notre cas, nous pouvons déduire si $all contient toutes les valeurs de $search_this.

<code class="php">$containsAllValues = !array_diff($search_this, $all);</code>

Si 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.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn