"Fuzzy search" is a concept opposite to "precise search". As the name suggests, it means that the search system automatically performs fuzzy search based on synonyms of the keywords entered by the user, thereby obtaining more search results. Synonyms are configured by the system's administrative interface. If you configure "computer" and "computer" as synonyms and search for "computer", web pages containing "computer" will also appear in the search results. Fuzzy search is also a synonym search. The synonyms here are configured by the user through the "Synonym Dictionary" in "Search Management". When the user enters any word in the synonyms to search on the search page, as long as the "fuzzy search" checkbox is selected, all synonym information of the keyword will also be retrieved.
The following editor will bring you an implementation method of PHP fuzzy query (recommended). The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor to take a look
Pattern query
1. SQL matching pattern
2. Regular expressionMatching mode (generally not recommended)
SQL matching mode
1. Use sql matching mode , cannot use operator= or! =, instead use the operator LIKE or NOT LIKE;
2. Using sql matching mode, MYSQL provides 2 types of wildcard characters .
% represents any number of any characters (including 0)
_ represents any single character
3. Use sql matching mode, if the matching format does not contain the above The query effect of any one of the two wildcard characters is equivalent to = or! =
4. Use sql matching pattern. When matching, it is not case-sensitive
#查询用户名以某个字符开头的用户 #查询用户名以字符'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%';
Regular expression matching pattern
Wildcard (regular expression)
. Matches any single character
* matches 0 or more characters before it
x* means matches any number x character
[..] Matches any character in brackets
[abc] Matches character ab or c
[a-z] Matches any letter
[0-9] Matches any number
[0-9]*Match any number of any number
[a-z]*Match any number of letters
^ means starting with a certain character or string
^a means starting with the letter a
$ means ending with a certain character or string
s$ means ending with the letter s
Use regular expressions The operators used in the matching pattern are:
REGEXP or NOT REGEXP(RLIKE or NOT RLIKE)
Note: Regular expression matching pattern, its regular expression appears anywhere in the matching field,
Even if the pattern matches, there is no need to put a wildcard character on both sides to make it match;
If only the wildcard character . is used to match, assuming N, then the matching pattern means, greater than or equal to N;
How do you understand the above sentence?
That is to say
... Match data that is greater than or equal to 3 characters
.... Match data that is greater than or equal to 4 characters
#Query the user name with the character l Users starting with: ^l;
#regular expression writing
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 '^...$';
The above is the detailed content of How to implement fuzzy query in php. For more information, please follow other related articles on the PHP Chinese website!

TomodifydatainaPHPsession,startthesessionwithsession_start(),thenuse$_SESSIONtoset,modify,orremovevariables.1)Startthesession.2)Setormodifysessionvariablesusing$_SESSION.3)Removevariableswithunset().4)Clearallvariableswithsession_unset().5)Destroythe

Arrays can be stored in PHP sessions. 1. Start the session and use session_start(). 2. Create an array and store it in $_SESSION. 3. Retrieve the array through $_SESSION. 4. Optimize session data to improve performance.

PHP session garbage collection is triggered through a probability mechanism to clean up expired session data. 1) Set the trigger probability and session life cycle in the configuration file; 2) You can use cron tasks to optimize high-load applications; 3) You need to balance the garbage collection frequency and performance to avoid data loss.

Tracking user session activities in PHP is implemented through session management. 1) Use session_start() to start the session. 2) Store and access data through the $_SESSION array. 3) Call session_destroy() to end the session. Session tracking is used for user behavior analysis, security monitoring, and performance optimization.

Using databases to store PHP session data can improve performance and scalability. 1) Configure MySQL to store session data: Set up the session processor in php.ini or PHP code. 2) Implement custom session processor: define open, close, read, write and other functions to interact with the database. 3) Optimization and best practices: Use indexing, caching, data compression and distributed storage to improve performance.

PHPsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIDstoredinacookie.Here'showtomanagethemeffectively:1)Startasessionwithsession_start()andstoredatain$_SESSION.2)RegeneratethesessionIDafterloginwithsession_regenerate_id(true)topreventsessi

In PHP, iterating through session data can be achieved through the following steps: 1. Start the session using session_start(). 2. Iterate through foreach loop through all key-value pairs in the $_SESSION array. 3. When processing complex data structures, use is_array() or is_object() functions and use print_r() to output detailed information. 4. When optimizing traversal, paging can be used to avoid processing large amounts of data at one time. This will help you manage and use PHP session data more efficiently in your actual project.

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
