Maison  >  Article  >  développement back-end  >  Comment déterminer si un tableau est dans un tableau en php

Comment déterminer si un tableau est dans un tableau en php

PHPz
PHPzoriginal
2023-04-27 09:04:35555parcourir

Dans le développement PHP, nous devons souvent déterminer si un tableau se trouve dans un autre tableau.

Par exemple, il existe un scénario dans lequel il existe un tableau A. Nous devons déterminer si tous les éléments du tableau A existent dans un autre tableau B.

En PHP, déterminer si un tableau se trouve dans un autre tableau peut être réalisé via la fonction in_array(). Cependant, cette fonction ne peut pas déterminer si un tableau est entièrement contenu dans un autre tableau. Par conséquent, nous devons écrire nous-mêmes une fonction pour implémenter cette fonction.

Ce qui suit est l'implémentation d'une fonction personnalisée :

function array_in_array($needle, $haystack) {
    $result = true;
    foreach ($needle as $value) {
        if (!in_array($value, $haystack)) {
            $result = false;
            break;
        }
    }
    return $result;
}

Cette fonction accepte deux paramètres : $needle et $haystack.

$needle représente le tableau à juger et $haystack représente le tableau à juger.

La valeur de retour de la fonction est de type booléen, indiquant si $needle est complètement inclus dans $haystack.

Ce qui suit est un exemple d'utilisation :

$arrayA = array('apple', 'banana', 'orange');
$arrayB = array('orange', 'banana', 'apple', 'pear');

$result = array_in_array($arrayA, $arrayB);

if ($result) {
    echo '数组A中所有元素都在数组B中';
} else {
    echo '数组A中存在元素不在数组B中';
}

Dans l'exemple ci-dessus, $arrayA contient 3 éléments et $arrayB contient 4 éléments. Tous les éléments de $arrayA existent dans $arrayB. Par conséquent, la valeur de $result est vraie et le programme affichera "Tous les éléments du tableau A sont dans le tableau B".

Si $arrayB est modifié comme suit :

$arrayB = array('orange', 'banana');

Après avoir exécuté le code ci-dessus, le programme affichera "Il y a des éléments dans le tableau A mais pas dans le tableau B".

Cette fonction est relativement simple, l'essentiel est de comprendre le principe.

Nous pouvons parcourir les éléments de $needle à travers une boucle foreach, puis déterminer si chaque élément est dans $haystack. S'il y a un élément qui n'est pas dans $haystack, cela signifie que $needle n'est pas un sous-ensemble de $haystack et la fonction renvoie false.

De cette façon, nous pouvons facilement déterminer si un tableau se trouve dans un autre tableau !

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