Maison >développement back-end >Problème PHP >Comment déterminer si une chaîne existe dans un tableau en php

Comment déterminer si une chaîne existe dans un tableau en php

PHPz
PHPzoriginal
2023-04-20 09:10:53722parcourir

Lors de l'utilisation de tableaux en PHP, il est courant de vérifier si un élément existe dans le tableau. Lorsque l'élément du tableau est un nombre entier ou à virgule flottante, vous pouvez utiliser la fonction in_array() pour vérifier si l'élément est contenu dans le tableau. Cependant, lorsqu'il s'agit de vérifier si le tableau contient une chaîne, la fonction ne fonctionne pas correctement.

Alors, comment vérifier si un tableau PHP contient une chaîne ?

Méthode 1 : utilisez la fonction in_array() pour déterminer

$fruits = array("apple", "banana", "orange");
if (in_array("apple", $fruits)) {
    echo "苹果在数组中";
} else {
    echo "苹果不在数组中";
}

Dans le code ci-dessus, le premier paramètre de la fonction in_array() est l'élément à trouver, et le deuxième paramètre est le tableau à rechercher. La fonction renvoie vrai si l'élément trouvé est dans le tableau ; sinon, elle renvoie faux.

Cependant, si ce que vous recherchez est une chaîne, la fonction in_array() comparera la chaîne à l'élément entier au lieu de comparer une certaine partie de la chaîne. Cela signifie que la fonction in_array() retournera toujours false si le tableau contient des éléments qui font partie de la chaîne que vous recherchez. Par conséquent, la fonction in_array() ne peut pas vérifier avec précision si un tableau PHP contient une chaîne.

Méthode 2 : utilisez la fonction array_search() pour déterminer

$fruits = array("apple", "banana", "orange");
$key = array_search("apple", $fruits);
if ($key !== false) {
    echo "苹果在数组中,键名为:" . $key;
} else {
    echo "苹果不在数组中";
}

la fonctionarray_search() est similaire à la fonction in_array() et est utilisée pour trouver la valeur spécifiée dans le tableau. La différence est que la fonction array_search() renvoie le nom de clé de l'élément dans le tableau au lieu de vrai/faux. Renvoie false si l'élément trouvé n'est pas dans le tableau.

Lorsque vous utilisez la fonction array_search(), veuillez noter que cette fonction est stricte et sensible à la casse. Autrement dit, si vous recherchez une chaîne minuscule dans un tableau où les chaînes sont toutes en majuscules, la fonction array_search() renverra false même si elles sont identiques.

Méthode 3 : utilisez les fonctions in_array() et array_map() ensemble pour déterminer

function array_value_exists($needle, $haystack) {
    return in_array($needle, array_map('strtolower', $haystack));
}

Cette méthode utilise les fonctions in_array() et array_map() ensemble, qui convertit toutes les chaînes du tableau en minuscules, et après la conversion, recherchez le chaîne spécifiée dans le tableau. Ainsi, que la chaîne soit en majuscule ou en minuscule, elle peut être trouvée dans le tableau.

Conclusion

En PHP, lorsque vous utilisez des tableaux, vous devez choisir différentes méthodes pour vérifier si le tableau contient une chaîne en fonction de la situation réelle. Si la chaîne qui doit correspondre est saisie par l'utilisateur, vous devez vous demander si vous devez utiliser la troisième méthode pour éviter les problèmes causés par la capitalisation.

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