Filtrage SQL similaire en PHP : renvoi de correspondances avec du texte partiel
Filtrage des valeurs d'un tableau basé sur une recherche de texte partielle, similaire à celle de SQL La requête LIKE '%search%' peut être une tâche essentielle dans de nombreux scénarios de programmation. En PHP, y parvenir à l'aide de tableaux nécessite des techniques spécialisées.
Considérons l'exemple fourni. Étant donné un tableau contenant des noms de couleurs, l'objectif est de renvoyer uniquement les couleurs qui correspondent partiellement au texte saisi par l'utilisateur. Par exemple, avec une entrée de "bl", la sortie attendue serait ["blue", "black"] du tableau d'entrée ["orange", "blue", "green", "red", "pink", "brown", "black"].
Utilisation d'expressions régulières avec preg_grep
Au lieu d'utiliser array_filter avec une fonction lambda personnalisée, une approche plus simple et plus efficace consiste à utilisez la fonction preg_grep. Il combine la puissance des expressions régulières avec le filtrage de tableaux :
<code class="php">$input = preg_quote('bl', '~'); // Quote the input string for use in regex $data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black'); $result = preg_grep('~' . $input . '~', $data);</code>
Dans ce code :
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!