#最初のタイプ:
$arr = str_split($str); p($arr);
結果:
概要:
str_split メソッドは分割に直接使用されますが、残念ながら、このメソッドは中国語の解析をサポートしていません。ここで mb_split の分割について検討できます。また、なぜここで [サンプル] を使用するのかを検討できます。文字化けは utf8 が原因で、utf8 では漢字 1 文字が 3 バイト、GBK および GB2312 では漢字 1 文字が 2 バイトを占有します。2 番目のタイプ:
$arr = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); P($arr);
結果:
ここでは文字を区切るために通常のルールが使用されています
preg_split(pattern, subject, limit, flags)
パターン: 検索に使用されるパターン、文字列形式;
件名: 入力文字列;
limit: 制限される文字数、-1|0|null は制限なしを意味します
flags: PREG_SPLIT_NO_EMPTY (区切られた空でない部分を返します [一般的に使用されます]) PREG_SPLIT_DELIM_CAPTURE( 括弧で囲まれた式PREG_SPLIT_OFFSET_CAPTURE (一致が発生するたびに文字列オフセットが戻り値に追加されます)。
3 番目のタイプ:$len = mb_strlen($str, 'utf8'); $tmp = []; for ($i = 0;$i < $len;$i++) { $tmp[] = $str[$i]; } p($tmp);
結果:
ループを使用して文字列を切り取り、最初に文字列の長さを取得し、次に for ループで最後の不明な文字が $ であるためです。 len = 7 なので、サイクルは 7 回になります。これは、最初の方法の utf8 文字混同の問題とは異なります。
推奨チュートリアル:
PHP ビデオ チュートリアル以上がPHPで文字列を文字に分解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。