Maison  >  Article  >  développement back-end  >  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-26 14:22:49769parcourir

En PHP, nous devons parfois déterminer si une chaîne existe dans un tableau. Cette situation est très courante en programmation. Par exemple, nous devons déterminer si le contenu saisi par l'utilisateur est un mot-clé spécifique, ou nous devons vérifier si un nom de fichier contient une extension de fichier spécifique, etc. Chaque fois que nous avons besoin de trouver une chaîne spécifique dans un grand tableau, nous devons disposer d'un moyen rapide et fiable pour savoir si la chaîne est présente dans le tableau.

PHP propose plusieurs méthodes pour déterminer si une chaîne existe dans un tableau. En voici quelques-unes :

1. Utiliser la fonction in_array()

La fonction in_array() est une fonction en PHP utilisée pour vérifier si une valeur existe dans un tableau. . Sa syntaxe est la suivante :

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

où $needle est la valeur à trouver , $ haystack est le tableau dans lequel rechercher et $strict est un paramètre facultatif indiquant s'il faut effectuer une comparaison stricte. Si l'argument $strict est VRAI, la fonction in_array() prendra en compte le type lors de la recherche, sinon elle ne le fera pas.

Ce qui suit est un exemple simple d'utilisation de la fonction in_array() pour déterminer si une chaîne existe dans un tableau :

$keywords = array("PHP", "MySQL " , "HTML", "CSS");
$searchTerm = "MySQL";
if (in_array($searchTerm, $keywords)) {

echo "字符串$searchTerm存在于数组中";

} else { # 🎜🎜#

echo "字符串$searchTerm不存在于数组中";
}

Dans l'exemple ci-dessus, nous définissons d'abord un tableau $keywords et y ajoutons plusieurs éléments. Ensuite, nous définissons la chaîne que nous voulons rechercher, $searchTerm. Ensuite, nous utilisons la fonction in_array() pour vérifier si $searchTerm existe dans le tableau $keywords. Si $searchTerm existe dans le tableau $keywords, la chaîne "$searchTerm existe dans le tableau" sera affichée, sinon la chaîne "$searchTerm n'existe pas dans le tableau" sera affichée.

2. Utilisez la fonction array_search()

La fonction array_search() est une autre fonction en PHP utilisée pour trouver la position d'une valeur spécifique dans un tableau. Sa syntaxe est la suivante :

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

où $needle est la valeur à trouver, $ haystack est le tableau dans lequel rechercher, $strict est un paramètre facultatif indiquant s'il faut effectuer une comparaison stricte. Si l'argument $strict est VRAI, la fonction in_array() prendra en compte le type lors de la recherche, sinon elle ne le fera pas.

Ce qui suit est un exemple simple d'utilisation de la fonction array_search() pour déterminer si une chaîne existe dans un tableau :

$keywords = array("PHP", "MySQL " , "HTML", "CSS");

$searchTerm = "MySQL";
$searchResult = array_search($searchTerm, $keywords);
if ($searchResult !== false ) {

echo "字符串$searchTerm存在于数组中,在位置$searchResult";
} else {

echo "字符串$searchTerm不存在于数组中";
}

Dans l'exemple ci-dessus, nous définissons d'abord un tableau $keywords et les caractères à rechercher String $termederecherche. Nous utilisons ensuite la fonction array_search() pour trouver la position de $searchTerm dans le tableau $keywords. Si $searchTerm existe dans le tableau $keywords, alors la variable $searchResult contiendra sa position et la chaîne "$searchTerm existe dans le tableau à la position $searchResult" est affichée. Sinon, la chaîne "$searchTerm n'existe pas dans le tableau" sera affichée.

3. Utilisez les fonctions in_array() et array_keys()

Une autre façon de trouver une chaîne spécifique dans un tableau consiste à utiliser une combinaison de in_array() et array_keys () fonctions . Cette méthode utilise d'abord la fonction in_array() pour vérifier si la chaîne existe dans le tableau, si c'est le cas, elle utilise ensuite la fonction array_keys() pour obtenir toutes ses positions.

Ce qui suit est un exemple simple d'utilisation des fonctions in_array() et array_keys() pour déterminer si une chaîne existe dans un tableau :

$keywords = array("PHP " , "MySQL", "HTML", "CSS", "PHP");

$searchTerm = "PHP";
if (in_array($searchTerm, $keywords)) {

$positions = array_keys($keywords, $searchTerm);
echo "字符串$searchTerm出现在数组中的位置:" . implode(",", $positions);
} else {

echo "字符串$searchTerm不存在于数组中";
}

Dans l'exemple ci-dessus, nous avons fourni un tableau $keywords qui contient plusieurs éléments. Nous définissons ensuite la chaîne que nous voulons trouver $searchTerm et utilisons la fonction in_array() pour vérifier si la chaîne existe dans le tableau $keywords. Si $searchTerm existe dans le tableau $keywords, alors nous utilisons la fonction array_keys() pour obtenir les positions de tous les $searchTerms dans le tableau et utilisons la fonction implode() pour le générer sous forme de chaîne séparée par des virgules. Sinon, la chaîne "$searchTerm n'existe pas dans le tableau" sera affichée.

Summary

En PHP, il existe plusieurs façons de déterminer si une chaîne existe dans un tableau. L'écriture de code à l'aide de l'une de ces méthodes doit être rapide et fiable. En utilisant la fonction in_array() vous pouvez vérifier directement si une chaîne existe dans un tableau. En utilisant la fonction array_search(), vous pouvez trouver la position d'une chaîne dans un tableau. Enfin, si vous avez besoin d'obtenir la position de toutes les chaînes spécifiques dans un tableau, vous pouvez combiner les fonctions in_array() et array_keys().

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