Home >Backend Development >PHP Problem >How to check how many characters a Chinese character string has in php
In PHP, you can use the mb_strlen() function to check how many characters a Chinese character string has. The syntax is "strlen(string, "character encoding")", which can accurately return the number of characters in a Chinese character string. Number; this function can process Chinese characters through the set character encoding, so that Chinese characters, English, numbers, etc., only occupy one character in length.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Commonly used in PHP to calculate the length of a string There are two functions, namely strlen() and mb_strlen() functions. When processing all-English strings, the effect of these two functions is the same, but when processing mixed Chinese and English strings or pure Chinese strings, these two functions will have some differences.
strlen() cannot accurately calculate mixed Chinese and English or pure Chinese strings, but mb_strlen() can.
Therefore, if you want to check how many characters a Chinese character string has, you need to use the mb_strlen() function.
php mb_strlen() function
mb_strlen() function returns the length of the string, that is, counts the number of characters in the string.
Syntax:
strlen(字符串,"字符编码")
This function can return the corresponding number of characters by setting the character encoding, which handles Chinese very well String length issue.
In the mb_strlen() function, by setting the character encoding, whether it is Chinese characters, English, numbers, decimal points, underscores and spaces, they only occupy one character in length.
Return value: If successful, return the length of the string, if the string is empty, return 0.
Example: Check how many characters a Chinese character string has
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到这里"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str).'<br>'; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
It can be seen that if the second character is omitted parameter, the function uses internal character encoding, so that a GB2312-encoded Chinese character occupies two characters in length, and a UTF-8-encoded Chinese character occupies three characters in length.
So when counting the length of Chinese character strings, the second parameter cannot be omitted.
The mb_strlen() function not only counts pure Chinese characters, but also counts Chinese and English mixed strings.
<?php header('content-type:text/html;charset=utf-8'); $str = "欢迎来到PHP中文网"; echo '字符串 “'.$str.'” 的字符个数为:'.mb_strlen($str,"utf-8").'<br>'; ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to check how many characters a Chinese character string has in php. For more information, please follow other related articles on the PHP Chinese website!