Comment filtrer un tableau en PHP comme `LIKE \'%search%\'` de SQL ?

DDD
Libérer: 2024-11-04 03:19:31
original
696 Les gens l'ont consulté

How to Filter an Array in PHP Like SQL's `LIKE '%search%'`?

Filtrage des valeurs d'un tableau similaire à SQL LIKE '%search%'

La conception d'un champ de saisie semi-automatique à l'aide de JQueryUI pose un défi lorsqu'il s'agit pour filtrer les valeurs d'un tableau en fonction de l'entrée de l'utilisateur. Considérons un tableau contenant des couleurs : ['orange', 'bleu', 'vert', 'rouge', 'rose', 'marron', 'noir']. Si l'utilisateur tape « bl », le résultat souhaité serait ['blue', 'black'].

Pour y parvenir, on pourrait envisager d'utiliser array_diff(), mais une approche plus appropriée existe : preg_grep. Cette fonction combine des expressions régulières avec le filtrage, ce qui la rend idéale pour la tâche à accomplir.

Implémentation à l'aide de preg_grep :

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

$result = preg_grep('~' . $input . '~', $data);</code>
Copier après la connexion

Dans ce code, preg_quote est utilisé pour échapper aux caractères spéciaux dans la chaîne d'entrée. L'expression régulière '~w ~' correspond à n'importe quel mot (une ou plusieurs lettres) contenant la chaîne saisie. preg_grep applique ensuite ce filtre au tableau de données, ce qui donne les correspondances souhaitées.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!