Comment implémenter une requête floue en PHP

墨辰丷
Libérer: 2023-03-29 06:48:01
original
2869 Les gens l'ont consulté

Cet article présente principalement la méthode d'implémentation des requêtes floues en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Requête de modèle

1. Modèle de correspondance SQL

2. Modèle de correspondance d'expression régulière (généralement non recommandé)

Mode de correspondance SQL

1 Lorsque vous utilisez le mode de correspondance SQL, vous ne pouvez pas utiliser l'opérateur = ou ! =, utilisez plutôt l'opérateur LIKE ou NOT LIKE ;

2. En utilisant le mode de correspondance SQL, MYSQL fournit 2 types de caractères génériques.

% représente n'importe quel nombre de caractères (y compris 0)

_ représente n'importe quel caractère unique

3. Utilisez le mode de correspondance SQL, si le format de correspondance ne contient pas ce qui précède. L'effet de requête de l'un des deux caractères génériques est équivalent à = ou ! =

4. Utilisez le mode de correspondance SQL, lors de la correspondance, il n'est pas sensible à la casse

#查询用户名以某个字符开头的用户
#查询用户名以字符'l'开头的用户: l%
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名以某个字符结尾的用户
#查询用户名以字符'e'结尾的用户:e%
SELECT * FROM user WHERE username LIKE 'e%';
#查询用户名包含某个字符的用户
#查询用户名包含字符'o'的用户:%o%
SELECT * FROM user WHERE username LIKE '%o%';
#查询包含三个字符的用户
SELECT * FROM user WHERE username LIKE '___';
#查询用户名第二个字符为o的用户:_o%
SELECT * FROM user WHERE username LIKE '_o%';
Copier après la connexion

Modèle de correspondance d'expression régulière

Caractère générique (expression régulière)

Faites correspondre n'importe quel caractère

* Faites correspondre 0 ou plus dans les caractères qui le précèdent.

x* signifie faire correspondre n'importe quel nombre de x caractères

[..] Faire correspondre n'importe quel caractère entre parenthèses
[abc] Faire correspondre les caractères ab ou c
[a-z] Correspond à n'importe quel lettre
[0-9] Correspond à n'importe quel nombre
[0-9]* Correspond à n'importe quel nombre de n'importe quel nombre
[a-z]* Correspond à n'importe quel nombre de lettres

^ signifie commencer par un certain caractère ou chaîne

^a signifie commencer par la lettre a

$ signifie se terminer par un certain caractère ou chaîne

s$ signifie commencer par la lettre a s se termine par

Les opérateurs utilisés pour utiliser les modèles de correspondance d'expressions régulières sont :

REGEXP ou NOT REGEXP (RLIKE ou NOT RLIKE)

Remarque : modèles de correspondance d'expressions régulières, l'expression régulière apparaît n'importe où dans le champ correspondant.

Le motif sera mis en correspondance. Il n'est pas nécessaire de mettre un caractère générique des deux côtés pour le faire correspondre

Si seul le caractère générique est utilisé pour . match, En supposant N, alors le modèle de correspondance indique qu'il est supérieur ou égal à N

Comment comprendre la phrase ci-dessus ?

signifie

... Correspond aux données supérieures ou égales à 3 caractères
.... Correspond aux données supérieures ou égales à 4 caractères
# Requête le nom d'utilisateur avec le caractère l Utilisateurs commençant par : ^l;
#Écriture d'expression régulière

SELECT * FROM user WHERE username REGEXP '^l';
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名正好是三个字符的用户:^...$;
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE '___';
#正则表达式写法
SELECT * FROM user WHERE username REGEXP '^...$';
Copier après la connexion

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j’espère qu’il pourra aider l’apprentissage de chacun.

Recommandations associées :

phpExplication détaillée et exemples d'extraction de fonction de traitement de tableau

php in_array() Explication détaillée de la vérification si une certaine valeur existe dans le tableau

Solution au problème de l'impossibilité de se connecter à l'arrière-plan PHP magento

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!

Étiquettes associées:
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!