Maison >développement back-end >tutoriel php >Comment puis-je filtrer un tableau en PHP en utilisant un modèle similaire à l'opérateur LIKE de SQL ?
Pour filtrer les valeurs d'un tableau en fonction de l'entrée utilisateur qui correspond à un modèle spécifié, vous peut exploiter la puissante fonction preg_grep de PHP en conjonction avec des expressions régulières.
Considérez l'exemple suivant, où $data est un tableau contenant couleurs :
<code class="php"><?php $data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');</code>
Pour rechercher des correspondances en fonction de la saisie de l'utilisateur, que nous représenterons par $input, vous pouvez effectuer ce qui suit :
<code class="php"><?php $input = 'bl'; $input = preg_quote($input, '~'); // Escape special characters in input $result = preg_grep('~' . $input . '~', $data);</code>
Dans cet exemple, nous citons l'entrée en utilisant preg_quote pour garantir que les caractères spéciaux sont correctement traités. Ensuite, nous utilisons preg_grep avec une expression régulière qui recherche les correspondances de $input dans n'importe quelle partie des éléments du tableau.
Le résultat est un tableau contenant uniquement les éléments suivants :
<code class="php"><?php array( 'blue', 'black', );</code>
Par en utilisant cette technique, vous pouvez filtrer efficacement les tableaux en fonction des entrées de l'utilisateur, en fournissant une méthode similaire à LIKE '%search%' de SQL. opérateur pour les tableaux 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!