PHP でファジー クエリを実装する方法: 1. SQL マッチング モードを使用します。演算子は LIKE または NOT LIKE を使用する必要があります。マッチングする場合、大文字と小文字は区別されません。2. 正規表現マッチング モード、その正規表現を使用します。数式は、一致するフィールドの任意の場所に表示されます。
[関連する学習の推奨事項: php プログラミング (ビデオ)]
php はぼかしを実現しますクエリ メソッド:
メソッド 1: SQL マッチング パターン
1. SQL マッチング パターンを使用します。演算子 =
や演算子は使用できません。 ! =
ただし、演算子 LIKE または NOT LIKE を使用します;
2. SQL マッチング モードを使用して、MYSQL は 2 種類のワイルドカード文字を提供します。
%
は、任意の数の任意の文字 (0 を含む) を表します。
#查询用户名以某个字符开头的用户 #查询用户名以字符'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%';方法 2: 正規表現マッチング パターン ワイルドカード (正規表現)
#.
#*
その前の 0 文字以上の文字と一致します
x *
は、任意の数の x 文字と一致することを意味します
[..] 角括弧内の任意の文字と一致します
[abc] と一致します文字 ab または c
[a-z] 任意の文字と一致します
[0-9] 任意の数字と一致します
[0-9]*任意の数字の任意の数と一致します
[a-z]*任意の数の文字と一致します
^
は特定の文字または文字列で始まることを意味します
^a
は文字 a で始まることを意味します
$
は特定の文字で終わることを意味します文字または文字列
s$
は、文字 s
で終わることを意味します。正規表現を使用してパターンを一致させるために使用される演算子は、次のとおりです。
REGEXP
または NOT REGEXP
(RLIKE または NOT RLIKE)
注: 正規表現一致パターン、その正規表現は一致フィールドのどこにでも出現します。パターンが一致する場合、一致させるために両側にワイルドカード文字を置く必要はありません。
ワイルドカード文字 . のみを使用して一致させる場合、N と仮定すると、パターンの一致は、パターンの方が大きいことを意味します。 than Equal to N;
上記の文をどのように理解できますか?
つまり、
... 3 文字以上のデータと一致します。
.... 4 文字以上のデータと一致します。文字
# ユーザー名が文字 l で始まるユーザーをクエリします: ^l;
#正規表現の記述
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 '^...$';関連する推奨事項:
プログラミング ビデオ コース
以上がPHPでファジークエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。