How to decompose a string into characters in php

王林
Release: 2023-02-25 19:56:01
Original
4288 people have browsed it

How to decompose a string into characters in php

First type:

$arr = str_split($str);
p($arr);
Copy after login

Result:

How to decompose a string into characters in php

Summary:

The str_split method is used directly to split, but unfortunately this method does not support Chinese parsing. Here you can consider the split of mb_split, and why here [sample] Will the two characters be divided into six garbled characters? It should be caused by utf8. One Chinese character in utf8 occupies 3 bytes, and one Chinese character in GBK and GB2312 occupies 2 bytes.

Second type:

$arr = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
P($arr);
Copy after login

Result:

How to decompose a string into characters in php

Summary:

Regular rules are used here to separate characters

preg_split(pattern, subject, limit, flags)
Copy after login

pattern: Pattern used for search, string form;

subject: Input string;

limit: how many characters are limited, -1|0|null means no limit

flags: PREG_SPLIT_NO_EMPTY (returns the separated non-empty part [commonly used]) PREG_SPLIT_DELIM_CAPTURE( Parenthesized expressions in delimited patterns will be captured and returned) PREG_SPLIT_OFFSET_CAPTURE (with the string offset appended to the return for each occurrence of a match).

Third type:

$len = mb_strlen($str, 'utf8');
$tmp = [];
for ($i = 0;$i < $len;$i++) {
    $tmp[] = $str[$i];
}
p($tmp);
Copy after login

Result:

How to decompose a string into characters in php

Result:

Use a loop to cut the string, first get the length of the string, and then for loop, the last unknown character here is because $len = 7, so the cycle is 7 times, which is different from the utf8 character confusion problem of the first method.

Recommended tutorial: PHP video tutorial

The above is the detailed content of How to decompose a string into characters in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template