溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php把字符串分解成字符的方法

發(fā)布時(shí)間:2020-09-18 10:03:55 來源:億速云 閱讀:135 作者:小新 欄目:編程語言

這篇文章主要介紹php把字符串分解成字符的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

第一種:

$arr = str_split($str);
p($arr);

結(jié)果:

php把字符串分解成字符的方法

總結(jié):

這里直接使用str_split 方法來分割, 但不幸的是這個(gè)方法不支持中文的解析, 這里可以考慮下mb_split的分割, 而這里為什么[小樣]二字會被分割成六個(gè)亂碼呢? 這里應(yīng)該是utf8作怪, utf8中一個(gè)漢字占3個(gè)字節(jié), GBK和GB2312中的一個(gè)漢字占2個(gè)字節(jié)。

第二種:

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

結(jié)果:

php把字符串分解成字符的方法

總結(jié):

這里使用了正則來分割字符

preg_split(pattern, subject, limit, flags)

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

subject: 輸入的字符串;

limit: 限制多少個(gè)字符, -1|0|null表示不限制

flags: PREG_SPLIT_NO_EMPTY(返回分隔后的非空部分[常用])  PREG_SPLIT_DELIM_CAPTURE(用于分隔的模式中的括號表達(dá)式將被捕獲并返回)  PREG_SPLIT_OFFSET_CAPTURE(對于每一個(gè)出現(xiàn)的匹配返回時(shí)將會附加字符串偏移量)。

第三種:

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

結(jié)果:

php把字符串分解成字符的方法

結(jié)果:

用循環(huán)來切割字符串, 首先獲取該字符串的長度, 然后for循環(huán), 這里最后的未知字符是因?yàn)?len = 7,所以循環(huán)7次, 不同于第一種方法的utf8字符錯亂問題。

以上是php把字符串分解成字符的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI