Maison >développement back-end >tutoriel php >Comment filtrer les valeurs d'un tableau avec une requête \'%search%\' de type SQL en PHP ?

Comment filtrer les valeurs d'un tableau avec une requête \'%search%\' de type SQL en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 02:07:011046parcourir

How to Filter Array Values with a SQL-Like

Filtrer les valeurs du tableau à l'aide d'une requête "%search%" de type SQL en PHP

Lors de la construction d'un champ de saisie semi-automatique avec JQueryUI, récupération de données spécifiques les résultats d'un tableau basé sur les entrées de l'utilisateur peuvent être un défi. Pour filtrer efficacement les valeurs d'un tableau en fonction d'une chaîne de recherche partielle, similaire à la requête SQL LIKE '%search%', il est important de comprendre les nuances de la manipulation des tableaux et des expressions régulières. Sans utiliser de correspondances exactes, la tâche nécessite une approche personnalisée.

Une solution consiste à utiliser la fonction preg_grep, qui permet d'utiliser une expression régulière pour filtrer un tableau. En échappant correctement à l'entrée de l'utilisateur et en utilisant le délimiteur ~, une expression régulière peut être conçue pour correspondre à n'importe quelle chaîne contenant la chaîne de recherche n'importe où à l'intérieur. Par exemple :

<code class="php">$input = preg_quote('bl', '~'); // escape the input string
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);</code>

Le tableau $result résultant contiendra tous les éléments de $data qui contiennent la séquence 'bl' n'importe où dans leur valeur, reproduisant efficacement le comportement d'une requête SQL LIKE '%search%' . En combinant soigneusement les techniques de manipulation de tableaux et les expressions régulières, vous pouvez filtrer les valeurs du tableau de manière flexible et efficace, améliorant ainsi l'expérience utilisateur et la précision de votre fonctionnalité de saisie semi-automatique.

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