Maison > développement back-end > Problème PHP > Comment décomposer une chaîne en caractères en php

Comment décomposer une chaîne en caractères en php

王林
Libérer: 2023-02-25 19:56:01
original
4350 Les gens l'ont consulté

Comment décomposer une chaîne en caractères en php

第一种:

$arr = str_split($str);
p($arr);
Copier après la connexion

结果:

Comment décomposer une chaîne en caractères en php

总结:

这里直接使用str_split 方法来分割, 但不幸的是这个方法不支持中文的解析, 这里可以考虑下mb_split的分割, 而这里为什么[小样]二字会被分割成六个乱码呢? 这里应该是utf8作怪, utf8中一个汉字占3个字节, GBK和GB2312中的一个汉字占2个字节。

第二种:

$arr = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
P($arr);
Copier après la connexion

结果:

Comment décomposer une chaîne en caractères en php

总结:

这里使用了正则来分割字符

preg_split(pattern, subject, limit, flags)
Copier après la connexion

pattern:用于搜索的模式,字符串形式;

subject: 输入的字符串;

limit: 限制多少个字符, -1|0|null表示不限制

flags: PREG_SPLIT_NO_EMPTY(返回分隔后的非空部分[常用]) PREG_SPLIT_DELIM_CAPTURE(用于分隔的模式中的括号表达式将被捕获并返回) PREG_SPLIT_OFFSET_CAPTURE(对于每一个出现的匹配返回时将会附加字符串偏移量)。

第三种:

$len = mb_strlen($str, 'utf8');
$tmp = [];
for ($i = 0;$i < $len;$i++) {
    $tmp[] = $str[$i];
}
p($tmp);
Copier après la connexion

结果:

Comment décomposer une chaîne en caractères en php

结果:

用循环来切割字符串, 首先获取该字符串的长度, 然后for循环, 这里最后的未知字符是因为$len = 7,所以循环7次, 不同于第一种方法的utf8字符错乱问题。

推荐教程:PHP视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal