第一種:
$arr = str_split($str); p($arr);
結果:
總結:
這里直接使用str_split 方法來分割, 但不幸的是這個方法不支持中文的解析, 這里可以考慮下mb_split的分割, 而這里為什么[小樣]二字會被分割成六個亂碼呢? 這里應該是utf8作怪, utf8中一個漢字占3個字節, GBK和GB2312中的一個漢字占2個字節。
第二種:
$arr = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); P($arr);
結果:
總結:
這里使用了正則來分割字符
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);
結果:
結果:
用循環來切割字符串, 首先獲取該字符串的長度, 然后for循環, 這里最后的未知字符是因為$len = 7,所以循環7次, 不同于第一種方法的utf8字符錯亂問題。
推薦教程:PHP視頻教程
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com