En PHP, vous devez parfois demander si une donnée se trouve dans un tableau. C'est un problème souvent rencontré en développement. Cet article présentera ce problème en détail, y compris diverses méthodes de requête et leurs scénarios d'utilisation.
Méthode 1 : fonction in_array()
La fonction in_array() est une fonction intégrée en PHP, utilisée pour vérifier si une valeur est dans un tableau. Cette fonction peut accepter deux paramètres, le premier paramètre est la valeur à trouver et le deuxième paramètre est le tableau à interroger. Cette fonction renvoie une valeur booléenne, si le résultat de la requête est vrai, elle renvoie vrai, si le résultat de la requête est faux, elle renvoie faux.
L'exemple de code est le suivant :
$array = array('apple', 'banana', 'orange'); if (in_array('apple', $array)) { echo "apple is in the array"; } else { echo "apple is not in the array"; }
Dans l'exemple ci-dessus, nous définissons un tableau, puis utilisons la fonction in_array() pour demander si « pomme » est dans le tableau, et le résultat final est « pomme est dans le tableau".
Méthode 2 : fonction array_search()
La fonction array_search() est également une fonction intégrée en PHP, utilisée pour interroger la position d'une valeur dans un tableau. Cette fonction peut accepter deux paramètres, le premier paramètre est la valeur à trouver et le deuxième paramètre est le tableau à interroger. Si le résultat de la requête est vrai, l'index de la valeur dans le tableau est renvoyé ; si le résultat de la requête est faux, false est renvoyé.
L'exemple de code est le suivant :
$array = array('apple', 'banana', 'orange'); $key = array_search('apple', $array); if ($key !== false) { echo "apple is in the array at index " . $key; } else { echo "apple is not in the array"; }
Dans l'exemple ci-dessus, nous définissons également un tableau, puis utilisons la fonction array_search() pour interroger l'index de « pomme » dans le tableau. Le résultat final est « pomme ». est dans le tableau à l'index 0".
Il convient de noter que le résultat de la requête de la fonction array_search() peut être 0, vous devez donc utiliser l'opérateur d'égalité lâche "!== false" pour déterminer si le résultat de la requête est faux.
Méthode 3 : fonction in_array() et opérateur d'égalité stricte
Nous pouvons également combiner la fonction in_array() avec l'opérateur d'égalité stricte "===" pour garantir l'exactitude des résultats de la requête. L'opérateur d'égalité stricte différencie les types et évite donc les erreurs de requête dues à des incompatibilités de types.
L'exemple de code est le suivant :
$array = array('1', 2, '3.14', 'apple'); if (in_array(2, $array, true)) { echo "2 is in the array"; } else { echo "2 is not in the array"; }
Dans l'exemple ci-dessus, nous définissons un tableau contenant un entier 2 et utilisons la fonction in_array() et l'opérateur d'égalité stricte pour demander si 2 est dans le tableau. La sortie finale. le résultat est "2 est dans le tableau".
Il convient de noter que si l'opérateur d'égalité stricte n'est pas utilisé, la valeur 2 et la chaîne « 2 » seront considérées comme égales, des résultats de requête incorrects peuvent donc être renvoyés.
Méthode 4 : fonction in_array() et fonction array_map()
Nous pouvons également utiliser la fonction in_array() combinée avec la fonction array_map() pour demander si plusieurs valeurs se trouvent dans le tableau. La fonction array_map() peut appliquer une fonction définie par l'utilisateur à chaque élément d'un tableau et renvoyer un nouveau tableau composé des résultats du traitement.
L'exemple de code est le suivant :
$array = array('apple', 'banana', 'orange'); $search = array('apple', 'pear', 'grape'); $result = array_map(function ($val) use ($array) { return in_array($val, $array); }, $search); print_r($result);
Dans l'exemple ci-dessus, nous définissons un tableau et un tableau de valeurs à interroger, puis utilisons la fonction array_map() pour appliquer in_array() à chaque élément dans le tableau de valeursà interroger. ), renvoie un nouveau tableau composé de résultats de requête. Le résultat final est :
Array ( [0] => 1 [1] => 0 [2] => 0 )
Dans le résultat, 1 indique que le résultat de la requête est vrai et 0 indique. que le résultat de la requête est faux.
Il convient de noter que l'utilisation de la fonction array_map() pour demander si un tableau contient plusieurs valeursdans un autre tableau renverra un nouveau tableau, vous devez donc utiliser des fonctions telles que print_r() pour afficher les résultats de la requête. .
Pour résumer, il existe de nombreuses méthodes parmi lesquelles choisir en PHP pour demander si une donnée se trouve dans un tableau. La méthode appropriée doit être sélectionnée en fonction de scénarios d’utilisation et de besoins spécifiques.
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!