Maison  >  Article  >  développement back-end  >  Comment vérifier si un caractère est dans un tableau en php

Comment vérifier si un caractère est dans un tableau en php

PHPz
PHPzoriginal
2023-04-23 10:07:20345parcourir

Dans le développement PHP, le tableau est un type de données très courant. Dans un tableau, nous pouvons stocker plusieurs variables, et ces variables sont accessibles et modifiées via des indices. Cependant, dans le développement réel, nous pouvons rencontrer certains problèmes, comme par exemple vérifier si un caractère existe dans un tableau. Dans cet article, nous verrons comment vérifier si un caractère est dans un tableau.

Tout d’abord, regardons un exemple simple. Disons que nous avons un tableau contenant des noms de villes :

$cities = array("北京", "上海", "广州", "深圳");

Maintenant, nous voulons vérifier si un nom est dans ce tableau. Supposons que nous voulions vérifier si la ville « Shenzhen » figure dans ce tableau. Nous pouvons utiliser la fonction in_array() de PHP pour atteindre cet objectif. La syntaxe de cette fonction est la suivante :

in_array( $needle, $haystack [, $strict ] )

Paramètres :

  • $needle : obligatoire. Spécifie la valeur à rechercher.
  • $botte de foin : obligatoire. Spécifie le tableau dans lequel la valeur doit être trouvée.
  • $strict : facultatif. Si ce paramètre est défini sur true, la fonction vérifie également le type de données lors de la recherche d'une correspondance (c'est-à-dire que la valeur recherchée et la valeur du tableau doivent être exactement les mêmes).

Cette fonction recherche dans le tableau une valeur donnée et renvoie vrai si la valeur est trouvée, faux sinon. Ensuite, nous pouvons appeler cette fonction comme ceci :

if (in_array("深圳", $cities)) {
    echo "深圳是一个城市"; // 输出:深圳是一个城市
} else {
    echo "深圳不是一个城市";
}

Dans cet exemple, nous utilisons d'abord la fonction in_array() pour vérifier si "Shenzhen" est dans le tableau $cities. Si « Shenzhen » est trouvé dans le tableau, affichez « Shenzhen est une ville » ; sinon, affichez « Shenzhen n'est pas une ville ».

Cependant, si nous essayons d'utiliser la fonction in_array() pour déterminer si un caractère existe dans un tableau, nous constaterons que nous risquons d'obtenir un résultat incorrect. Par exemple :

$letters = array("a", "b", "c", "d");
if (in_array("ab", $letters)) {
    echo "找到了"; 
} else {
    echo "没找到"; // 输出:没找到
}

Dans l'exemple ci-dessus, nous essayons de vérifier si la chaîne "ab" est dans le tableau $letters. Cependant, comme la fonction in_array() ne vérifie qu'un seul élément, elle renvoie false car "ab" n'est pas un élément.

Pour résoudre ce problème, nous pouvons utiliser d'autres fonctions pour savoir si un caractère existe dans le tableau. Voici quelques méthodes :

  1. Utiliser la fonction strpos()

Nous pouvons utiliser la fonction strpos() pour savoir si un caractère existe dans un tableau. Cette fonction recherche une autre chaîne dans une chaîne et renvoie la position de la première correspondance, si elle est trouvée. S'il n'est pas trouvé, renvoie false. Nous pouvons utiliser cette fonction pour trouver un caractère dans un tableau. Voici un exemple :

$letters = array("a", "b", "c", "d");
if (strpos(implode($letters), "ab") !== false) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

Dans cet exemple, nous utilisons d'abord la fonction implode() pour combiner tous les éléments du tableau $letters en une chaîne, puis utilisons la fonction strpos() pour savoir si "ab" est dans cette chaîne. S'il est trouvé, affichez « Trouvé », sinon, affichez « Not Found ».

  1. Utilisation de la fonction preg_grep()

Nous pouvons également utiliser la fonction preg_grep() pour savoir si un caractère existe dans un tableau. Cette fonction accepte un modèle d'expression régulière et correspond à tous les éléments correspondants du tableau. Ensuite, il renvoie un tableau contenant toutes les correspondances. S'il n'y a pas de correspondance, renvoie false. Voici un exemple :

$letters = array("a", "b", "c", "d");
if (preg_grep("/ab/", $letters)) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

Dans cet exemple, nous utilisons la fonction preg_grep() pour savoir si la chaîne "ab" existe dans le tableau. Il renvoie un nouveau tableau contenant les correspondances. Renvoie vrai si le nouveau tableau n'est pas vide, faux sinon. Par conséquent, si « ab » est trouvé, affichez « Trouvé », sinon, affichez « Not Found ».

  1. Utilisation de la fonction array_filter()

Enfin, nous pouvons utiliser la fonction array_filter() pour savoir si un caractère existe dans un tableau. Cette fonction accepte une fonction de rappel et filtre tous les éléments qui ne correspondent pas du tableau. Il renvoie ensuite un tableau contenant toutes les correspondances. S'il n'y a pas de correspondance, un tableau vide est renvoyé. Voici un exemple :

$letters = array("a", "b", "c", "d");
if (array_filter($letters, function($value) {
    return strpos($value, "a") !== false;
})) {
    echo "找到了"; // 输出:找到了
} else {
    echo "没找到";
}

Dans cet exemple, nous utilisons la fonction array_filter() et une fonction de rappel pour savoir si la chaîne "a" existe dans le tableau. La fonction de rappel accepte une valeur et renvoie vrai ou faux indiquant si la valeur correspond aux critères de recherche. La fonction array_filter() renvoie un tableau contenant toutes les correspondances. Par conséquent, si « a » est trouvé, affichez « Trouvé », sinon, affichez « Not Found ».

Dans cet article, nous avons présenté plusieurs méthodes pour vérifier si un caractère existe dans un tableau. Dans le développement réel, vous devrez peut-être utiliser différentes méthodes, en fonction de la manière dont vous traitez les données. Si vous rencontrez des problèmes similaires, veuillez vous référer aux méthodes proposées dans cet article pour trouver une solution qui vous convient.

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