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 ?

Comment puis-je filtrer un tableau en PHP en utilisant un modèle similaire à l'opérateur LIKE de SQL ?

Susan Sarandon
Libérer: 2024-11-03 20:39:02
original
857 Les gens l'ont consulté

How Can I Filter an Array in PHP Using a Pattern Similar to SQL's LIKE Operator?

Filtrage des valeurs d'un tableau à l'aide de SQL LIKE '%search%' en PHP

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal