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

Comment détecter si un tableau contient une chaîne en php

青灯夜游
Libérer: 2023-03-16 15:56:02
original
6959 Les gens l'ont consulté

Deux méthodes de détection : 1. Utilisez la fonction in_array pour détecter si le tableau contient une valeur du type spécifié. La syntaxe est "in_array('string', array, true)". inclus, et vice versa Non inclus. 2. Utilisez la fonction array_search() pour détecter si le tableau contient une valeur du type spécifié. La syntaxe est "array_search('string', array, true)". Si le nom de clé correspondant est renvoyé, il est inclus. FALSE est renvoyé, il n'est pas inclus.

Comment détecter si un tableau contient une chaîne en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

Il existe deux manières pour PHP de détecter si un tableau contient une certaine chaîne :

  • Utilisez le Fonction in_array pour détecter

  • Utilisez la fonction array_search() pour détecter

Méthode 1 : Utilisez la fonction in_array pour détecter

La fonction in_array() peut trouver si le tableau contient une certaine valeur S'il existe, il. renvoie VRAI, s'il n'existe pas, il renvoie FAUX.

in_array($needle, $array[, $strict = FALSE])
Copier après la connexion

La description du paramètre est la suivante :

  • $needle : est la valeur à rechercher. Si $needle est une chaîne, la comparaison est sensible à la casse.

  • $array : est le tableau à rechercher. recherché ;

  • $strict : est un paramètre facultatif, la valeur par défaut est FALSE.

    • Si $strict est vide ou FALSE, la fonction in_array() vérifiera uniquement si la valeur de $needle est égale à la valeur de $array
    • Si la valeur de $strict est TRUE, in_array() ; La fonction ne vérifiera pas seulement En plus des valeurs dans $needle et $array, leurs types sont également comparés pour vérifier leur égalité.

Si vous souhaitez utiliser la fonction in_array pour détecter si le tableau contient une certaine chaîne, il vous suffit de définir le premier paramètre sur la chaîne spécifiée et le troisième paramètre sur TRUE (utilisé pour garantir que la valeur de l'élément et la valeur de recherche Le type est cohérent)

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    &#39;name&#39;  =>&#39;PHP中文网&#39;,
    &#39;url&#39;   =>&#39;//m.sbmmt.com/&#39;,
    &#39;title&#39; =>&#39;PHP教程&#39;,
    &#39;pid&#39;   =>1234
);
var_dump($array);
if(in_array(&#39;PHP教程&#39;, $array, true)){
    echo &#39;数组中包含字符串“PHP教程”<br><br>&#39;;
}else{
    echo &#39;数组中不包含字符串“PHP教程”<br><br>&#39;;
}
if(in_array(&#39;1234&#39;, $array, true)){
    echo &#39;数组中包含字符串“1234”<br><br>&#39;;
}else{
    echo &#39;数组中不包含字符串“1234”<br><br>&#39;;
}
?>
Copier après la connexion

Comment détecter si un tableau contient une chaîne en php

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

La fonctionarray_search() peut rechercher une valeur donnée dans le tableau et, en cas de succès, renvoyer la première nom de clé correspondant. Le format de syntaxe de la fonction est le suivant :

array_search($needle, $haystack[, $strict = false])
Copier après la connexion

La description du paramètre est la suivante :

  • $needle : est la valeur à rechercher Si $needle est un type chaîne, la recherche est au cas-. sensible ;
  • $haystack : est un tableau ;
  • $strict : paramètre facultatif, peut être vide, la valeur par défaut est False.
    • Si $strict est False, array_search() comparera uniquement les valeurs, pas les types, lors de la recherche de $needle dans $haystack.
    • Si $strict est True, array_search() compare à la fois la valeur et le type lors de la recherche de $needle dans $haystack. La fonction

array_search() renvoie la clé de $needle si elle est trouvée, sinon elle renvoie False.

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    &#39;name&#39;  =>&#39;PHP中文网&#39;,
    &#39;url&#39;   =>&#39;//m.sbmmt.com/&#39;,
    &#39;title&#39; =>&#39;PHP教程&#39;,
    &#39;pid&#39;   =>1234,
     &#39;level&#39; => 1111,
);
var_dump($array);
var_dump(array_search(&#39;1234&#39;, $array, true));
var_dump(array_search(&#39;PHP教程&#39;, $array));
var_dump(array_search(&#39;1111&#39;, $array, true));
var_dump(array_search(1111, $array, true));
?>
Copier après la connexion

Comment détecter si un tableau contient une chaîne en php

Remarque : Si $needle apparaît plus d'une fois dans $haystack, seule la première clé correspondante sera renvoyée. Pour renvoyer toutes les clés qui correspondent à une valeur, la fonction array_keys() doit être utilisée à la place.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal