Maison  >  Article  >  développement back-end  >  PHP détermine si une chaîne existe dans un tableau

PHP détermine si une chaîne existe dans un tableau

WBOY
WBOYoriginal
2023-05-22 18:20:37723parcourir

Dans le développement PHP, il est souvent nécessaire de rechercher si une chaîne spécifique existe à partir d'un tableau de chaînes. Cette opération est très courante. Après tout, dans de nombreux scénarios, il est nécessaire de filtrer ou de filtrer en fonction d'un certain mot-clé. Alors, comment déterminer si une certaine chaîne existe dans un tableau ? Cet article vous présentera quelques méthodes pratiques.

Méthode 1 : utilisez la fonction in_array

PHP a intégré une fonction très pratique in_array, qui est utilisée pour déterminer si un élément est dans un tableau. Utilisez cette fonction pour déterminer facilement si une chaîne existe dans un tableau. Voici la syntaxe de base pour utiliser la fonction in_array :

in_array($needle, $haystack); 

Parmi elles, $needle est la chaîne à rechercher et $haystack est le tableau à rechercher. Renvoie vrai si $needle existe dans le tableau $haystack, faux sinon.

Par exemple, ce qui suit est un tableau composé de trois chaînes. Nous voulons déterminer si la chaîne "blue" existe dans le tableau :

$colors = array("red", "green", "blue");
if(in_array("blue", $colors)){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

Le résultat de sortie est : la chaîne "blue" existe dans le tableau

In De plus, in_array prend également en charge le troisième paramètre $strict, qui est utilisé pour indiquer s'il faut correspondre strictement. Par défaut, ce paramètre est faux, ce qui signifie que tant que $needle apparaît dans $haystack, la correspondance est considérée comme réussie. Cependant, si le troisième paramètre est défini sur true, il est non seulement requis que $needle apparaisse dans $haystack, mais également que les éléments de $needle et $haystack soient du même type. Par exemple :

$a = array(1, 2, '3');
if (in_array('3', $a, true)) {
    echo '"3" is in $a with strict check';
} else {
    echo '"3" is not in $a with strict check';
}

Le résultat de sortie est : "3" n'est pas dans $a avec une vérification stricte

Méthode 2 : utilisez la fonction array_search

La fonction array_search est utilisée pour rechercher une valeur dans le tableau et renvoyer la clé nom de la valeur. Contrairement à la fonction in_array, cette fonction renvoie le nom de clé correspondant au lieu de la valeur vraie ou fausse. Si l'élément n'est pas trouvé, renvoie false. Voici la syntaxe de base pour utiliser la fonction array_search :

array_search($needle, $haystack); 

où $needle est la chaîne à rechercher et $haystack est le tableau recherché. Si $needle existe dans le tableau $haystack, renvoie le nom de clé correspondant à l'élément, sinon renvoie false.

Par exemple, ce qui suit est un tableau composé de trois chaînes. Nous voulons déterminer si la chaîne « blue » existe dans le tableau :

$colors = array("red", "green", "blue");
$key = array_search("blue", $colors);
if ( $key !== false ) {
    echo "字符串'blue'存在于数组中,对应键名为".$key;
} else {
    echo "字符串'blue'不存在于数组中";
}

Le résultat de sortie est : la chaîne « blue » existe dans le tableau, La correspondante le nom de la clé est 2

Méthode 3 : utilisez la combinaison de in_array et array_map

Si vous souhaitez déterminer si une chaîne existe dans plusieurs tableaux, au lieu de simplement rechercher dans un tableau, vous pouvez utiliser la combinaison des fonctions in_array et array_map. Voici la syntaxe de base pour utiliser cette méthode :

function check_string_one_of_many_arrays($string, $arrays) {
    return count(array_filter($arrays, function($array) use ($string) {
        return in_array($string, $array);
    })) > 0;
}

Parmi elles, $string est la chaîne qui doit être trouvée et $arrays est la collection de tableaux qui doit être trouvée. Cette fonction renvoie une valeur booléenne indiquant si la chaîne existe dans plusieurs tableaux.

Par exemple, il y a maintenant deux tableaux $colors1 et $colors2, et vous devez déterminer si la chaîne "blue" existe dans ceux-ci :

$colors1 = array("red", "green", "blue");
$colors2 = array("yellow", "black", "white");
if(check_string_one_of_many_arrays("blue", array($colors1, $colors2))){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

Le résultat de sortie est : la chaîne "blue" existe dans le tableau

Résumé

Voici trois façons courantes de déterminer si une chaîne existe dans un tableau. En fonction des besoins des différents scénarios, vous pouvez choisir d'utiliser différentes méthodes. Quelle que soit la méthode utilisée, déterminer si une chaîne existe dans un tableau est très simple et facile à comprendre, et mérite une application généralisée dans notre programmation PHP quotidienne.

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