首頁 >後端開發 >PHP問題 >php怎麼把字串分解成字符

php怎麼把字串分解成字符

王林
王林原創
2019-10-08 11:29:414344瀏覽

php怎麼把字串分解成字符

第一種:

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

#結果:

php怎麼把字串分解成字符

總結: 

這裡直接使用str_split 方法來分割, 但不幸的是這個方法不支持中文的解析, 這裡可以考慮下mb_split的分割, 而這裡為什麼[小樣]二字會分割成六個亂碼呢? 這裡應該是utf8作怪, utf8中一個漢字佔3個位元組, GBK和GB2312中的一個漢字佔2個位元組。

第二種:

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

結果:

php怎麼把字串分解成字符

總結:

這裡使用了正則來分割字元

preg_split(pattern, subject, limit, flags)

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);

結果:

php怎麼把字串分解成字符

#結果:

用循環來切割字串, 首先取得該字串的長度, 然後for迴圈, 這裡最後的未知字元是因為$len = 7,所以循環7次, 不同於第一種方法的utf8字元錯亂問題。 推薦教學:

PHP影片教學#######

以上是php怎麼把字串分解成字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn