Home >Backend Development >PHP Problem >How to query what string starts with in php
Two implementation methods: 1. Use the substr() function to query the header character. You only need to set the second parameter of the function to 0 and the third parameter to N to get the beginning of the string. N characters, syntax "substr(string,0,N)". 2. Use the mb_substr() function to query the header characters. You only need to set the second parameter of the function to 0 and the third parameter to N to get the N characters at the beginning of the string. The syntax is "mb_substr(string, 0,N,Character encoding)".
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer
What does the php query string start with, is the query What are the characters (substring) at the head of the string. We can do this by getting the header characters.
Method 1: Use substr() to query (get) the header characters
The substr() function can intercept characters of a certain length from the specified position of the string.
substr(string,start,length)
Parameters | Description |
---|---|
string | Required . Specifies a part of the string to be returned. |
start | Required. Specifies where in the string to begin.
|
length | Optional. Specifies the length of the string to be returned. The default is until the end of the string.
|
Just set the second parameter of the function to 0 and the third parameter to N to get the first N characters of the string.
<?php header('content-type:text/html;charset=utf-8'); $str="Hello world"; echo "原字符串:".$str."<br>"; echo "开头的1个字符:".substr($str,0,1)."<br>"; echo "开头的2个字符:".substr($str,0,2)."<br>"; echo "开头的3个字符:".substr($str,0,3)."<br>"; ?>
Note: The substr() function has no problem processing English, but in development we often deal with Chinese There are many characters. Although the substr() function can also handle Chinese, it is not perfect.
<?php header('content-type:text/html;charset=utf-8'); $str="欢迎来到PHP中文网"; echo "原字符串:".$str."<br>"; echo "开头的1个字符:".substr($str,0,1)."<br>"; echo "开头的2个字符:".substr($str,0,2)."<br>"; echo "开头的3个字符:".substr($str,0,3)."<br>"; ?>
In the substr() function, a GB2312 encoded Chinese character occupies two characters in length, and a UTF-8 encoded Chinese characters are three characters long.
So how to intercept Chinese characters? You can use the mb_substr() function.
Method 2: Use the mb_substr() function to query (get) the header characters
The mb_substr() function can intercept a specified part from a string, and substr () function is different in that, The mb_substr() function is not only valid for English characters, but also for Chinese characters.
mb_substr(string,start,length,encoding)
string, start, length: have the same effect as the three parameters of the substr() function, please refer to them.
encoding: is an optional parameter used to set the character encoding; if omitted, the internal character encoding is used.
You only need to set the second parameter of the function to 0 and the third parameter to N to get the first N characters of the string.
<?php header('content-type:text/html;charset=utf-8'); $str="欢迎来到PHP中文网"; echo "原字符串:".$str."<br>"; echo "开头的1个字符:".mb_substr($str,0,1,"utf- 8")."<br>"; echo "开头的2个字符:".mb_substr($str,0,2,"utf- 8")."<br>"; ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to query what string starts with in php. For more information, please follow other related articles on the PHP Chinese website!