En php, nous devons souvent déterminer si un tableau contient une certaine chaîne. Dans cet article, nous explorerons comment PHP détermine si une certaine chaîne existe dans un tableau, et comment rechercher et filtrer les éléments d'un tableau.
Méthode 1 : utilisez la fonction in_array()
php fournit la fonction in_array(), qui peut facilement déterminer si l'élément spécifié est inclus dans le tableau. La syntaxe de cette fonction est la suivante :
in_array($search, $array);
où le paramètre $search est l'élément à trouver, et le paramètre $array est le tableau à trouver. Renvoie vrai si l'élément $search est contenu dans $array, faux sinon. L'exemple de code est le suivant :
$fruits = array('apple', 'banana', 'orange', 'kiwi'); $search1 = 'banana'; $search2 = 'grape'; if (in_array($search1, $fruits)) { echo "Fruits array contains $search1"; } else { echo "Fruits array does not contain $search1"; } if (in_array($search2, $fruits)) { echo "Fruits array contains $search2"; } else { echo "Fruits array does not contain $search2"; }
Exécutez le code ci-dessus, le résultat sera :
Fruits array contains banana Fruits array does not contain grape
Méthode 2 : utilisez la fonction array_search()
php fournit également la fonction array_search(), qui peut trouver le premier élément dans le tableau La position où il apparaît. La syntaxe de cette fonction est la suivante :
array_search($search, $array);
où le paramètre $search est l'élément à trouver, et le paramètre $array est le tableau à trouver. Si l'élément recherché est contenu dans le tableau, renvoie le nom de clé de la première occurrence de l'élément dans le tableau, sinon renvoie false. L'exemple de code est le suivant :
$fruits = array('apple', 'banana', 'orange', 'kiwi'); $search1 = 'banana'; $search2 = 'grape'; $result1 = array_search($search1, $fruits); $result2 = array_search($search2, $fruits); if ($result1 !== false) { echo "$search1 found at position $result1"; } else { echo "$search1 not found in the array"; } if ($result2 !== false) { echo "$search2 found at position $result2"; } else { echo "$search2 not found in the array"; }
Exécutez le code ci-dessus, le résultat sera :
banana found at position 1 grape not found in the array
Méthode 3 : utilisez in_array() combiné avec la fonction array_map()
Parfois, nous devons déterminer si le tableau contient un ensemble de chaînes n’importe quel élément. Pour le moment, nous pouvons utiliser la fonction in_array() combinée avec la fonction array_map(). La fonction array_map() exécute une fonction définie par l'utilisateur sur chaque élément du tableau et renvoie un nouveau tableau contenant les résultats de toutes les fonctions. Nous pouvons appeler la fonction in_array() dans la fonction array_map() pour trouver la valeur. L'exemple de code est le suivant :
$fruits = array('apple', 'banana', 'orange', 'kiwi'); $search = array('apple', 'watermelon'); $found = array_filter(array_map(function($needle) use($fruits){ return in_array($needle, $fruits); }, $search)); if ($found) { echo "Found these fruits: "; print_r($found); } else { echo "No fruits found"; }
Exécutez le code ci-dessus, le résultat sera :
Found these fruits: Array ( [0] => 1 )
Dans le code ci-dessus, nous utilisons la fonction array_map() et la fonction array_filter(). La fonction array_map() parcourt chaque élément du tableau $search, appelant une fonction anonyme sur chaque élément qui vérifie si l'élément est contenu dans le tableau $fruits. La fonction array_filter() reçoit un tableau et renvoie un tableau contenant uniquement les éléments vrais. Dans ce cas, $found contient uniquement les positions où l'élément existe.
Méthode 4 : utilisez la fonction preg_grep()
Si nous avons besoin de trouver des éléments dans un tableau qui contiennent un motif spécifique, comme tous les éléments commençant par la lettre 'a', nous pouvons utiliser la fonction preg_grep() en php . La fonction preg_grep() renvoie un tableau contenant tous les éléments correspondant au modèle. L'exemple de code est le suivant :
$fruits = array('apple', 'banana', 'orange', 'kiwi'); $pattern = '/^a/'; $found = preg_grep($pattern, $fruits); if ($found) { echo "Found these fruits: "; print_r($found); } else { echo "No fruits found"; }
Exécutez le code ci-dessus, le résultat sera :
Found these fruits: Array ( [0] => apple )
Dans le code ci-dessus, nous utilisons l'expression régulière "/^a/" pour faire correspondre les éléments commençant par la lettre 'a'. La fonction preg_grep() reçoit une expression régulière et le tableau à rechercher, et renvoie un tableau contenant tous les éléments qui correspondent à l'expression.
Résumé
Cet article présente quatre méthodes différentes en php pour savoir si un tableau contient une certaine chaîne. Ces méthodes incluent l'utilisation de la fonction in_array(), de la fonction array_search(), de la fonction in_array() combinée avec la fonction array_map() et de la fonction preg_grep(). Ces méthodes sont toutes des méthodes de requête de tableau couramment utilisées en PHP. Au travail, nous pouvons choisir la méthode appropriée à appliquer en fonction de la situation spécifique.
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!