Maison > développement back-end > tutoriel php > Comment filtrer les valeurs d'un tableau comme SQL LIKE \'%search%\' à l'aide de PHP ?

Comment filtrer les valeurs d'un tableau comme SQL LIKE \'%search%\' à l'aide de PHP ?

Susan Sarandon
Libérer: 2024-11-04 04:32:29
original
885 Les gens l'ont consulté

How to Filter Array Values Like SQL LIKE '%search%' Using PHP?

Filtrage des valeurs de tableau comme SQL LIKE '%search%' à l'aide de PHP

Pour implémenter une fonctionnalité de saisie semi-automatique à l'aide de JQueryUI, récupérer les correspondances alphabétiques d'un un tableau basé sur les entrées de l’utilisateur est essentiel. Considérons un tableau ["orange", "bleu", "vert", "rouge", "rose", "marron", "noir"]. Si l'utilisateur saisit "bl", vous souhaitez afficher uniquement ["blue", "black"].

Au lieu d'utiliser array_filter avec une fonction personnalisée, une solution plus efficace consiste à utiliser la fonction preg_grep, qui permet de filtrer à l'aide d'expressions régulières.

Exemple :

<code class="php">$input = preg_quote('bl', '~'); // Protect against regex special characters
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);

print_r($result); // Output: Array ( [0] => blue [1] => black )</code>
Copier après la connexion

Explication :

  • preg_quote(' bl', '~') échappe les caractères spéciaux dans la chaîne d'entrée, garantissant qu'ils sont traités littéralement dans l'expression régulière.
  • L'expression régulière ~ . $entrée . ~ recherche les éléments du tableau qui contiennent la chaîne d'entrée "bl" n'importe où dans la valeur.
  • preg_grep applique ce filtre d'expression régulière au tableau $data, renvoyant un tableau contenant uniquement les correspondances qui satisfont à la condition.

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