Maison >développement back-end >Problème PHP >Le tableau php est-il dans le tableau ?

Le tableau php est-il dans le tableau ?

WBOY
WBOYoriginal
2023-05-06 09:38:07610parcourir

Dans la programmation PHP, un tableau est une structure de données courante qui est souvent utilisée pour stocker et traiter de grandes quantités de données. Dans certains cas, il est nécessaire de déterminer si un tableau se trouve dans un autre tableau. Dans cet article, nous présenterons comment utiliser PHP pour déterminer si un tableau se trouve dans un autre tableau.

Tout d'abord, nous devons comprendre la représentation des tableaux en PHP. Généralement, les tableaux PHP peuvent être créés des deux manières suivantes :

1. Créer en utilisant le mot-clé array :

$array1 = array(“apple”, “orange”, “banana”);

2 Créer en utilisant des crochets [] :

$array2 = [“apple”, “orange”, “banana”];

Les deux méthodes peuvent créer un tableau contenant plusieurs éléments . Pour déterminer si un tableau se trouve dans un autre tableau, nous devons utiliser la fonction intégrée PHP in_array(). La syntaxe est la suivante :

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Parmi eux, le paramètre $needle est la valeur à trouver, le paramètre $haystack est le tableau à rechercher, et le paramètre $strict indique s'il faut utiliser la comparaison congruente. La fonction renverra une valeur booléenne représentant le résultat de la recherche.

Avec la fonction in_array(), nous pouvons facilement déterminer si une valeur est dans un tableau. Par exemple, le code suivant détermine si la valeur "apple" est dans le tableau $array1 :

if ( in_array(“apple”, $array1) ) {
    echo “yes”;
} else {
    echo “no”;
}

Si "apple" est dans le tableau $array1, le programme affichera "oui", sinon il affichera "non".

Alors, si l'on veut déterminer si un tableau est dans un autre tableau, comment y parvenir ? Regardons un exemple spécifique :

$array1 = [“apple”, “orange”, “banana”];
$array2 = [“orange”, “banana”];

Dans l'exemple ci-dessus, $array2 est un sous-ensemble de $array1 car tous les éléments de $array2 apparaissent dans $array1.

Afin de déterminer si $array2 est dans $array1, nous devons parcourir tous les éléments de $array2 et déterminer s'ils apparaissent tous dans $array1. Nous pouvons y parvenir grâce à une boucle for :

$flag = true;
for ($i=0; $i<count($array2); $i++) {
    if( !in_array($array2[$i], $array1) ) {
        $flag = false;
        break;
    }
}
if ( $flag ) {
    echo “yes”;
} else {
    echo “no”;
}

Dans le code ci-dessus, nous définissons d'abord une variable $flag pour marquer la situation lorsque tous les éléments sont trouvés. Ensuite, nous parcourons tous les éléments de $array2 et utilisons la fonction in_array() pour déterminer s'ils apparaissent tous dans $array1. Si un élément trouvé ne se trouve pas dans $array1, définissez la variable $flag sur false et sortez de la boucle. Enfin, le résultat est affiché en fonction de la valeur de la variable $flag.

Cette méthode n'est qu'un simple moyen de jugement, qui peut généralement répondre à nos besoins. Cependant, dans le travail réel, nous pouvons rencontrer des situations plus complexes, par exemple : le tableau contient des éléments qui sont un autre tableau, ou le tableau contient des tableaux multidimensionnels, etc. Pour ces situations, nous devons utiliser des méthodes de jugement plus complexes, telles que l'utilisation de fonctions de récursivité ou de rappel.

Pour résumer, juger si un tableau est dans un autre tableau en PHP consiste essentiellement à parcourir le tableau et à comparer les éléments qu'il contient. Dans des applications pratiques, nous pouvons utiliser la fonction in_array() ou des méthodes de jugement plus complexes pour implémenter cette fonction afin de répondre à différents besoins.

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