ホームページ >バックエンド開発 >PHPの問題 >PHPで文字列を文字に分解する方法

PHPで文字列を文字に分解する方法

王林
王林オリジナル
2019-10-08 11:29:414344ブラウズ

PHPで文字列を文字に分解する方法

#最初のタイプ:

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

結果:

PHPで文字列を文字に分解する方法

概要:

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

結果:

PHPで文字列を文字に分解する方法

##概要:

ここでは文字を区切るために通常のルールが使用されています

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

結果:


PHPで文字列を文字に分解する方法

結果:

ループを使用して文字列を切り取り、最初に文字列の長さを取得し、次に for ループで最後の不明な文字が $ であるためです。 len = 7 なので、サイクルは 7 回になります。これは、最初の方法の utf8 文字混同の問題とは異なります。

推奨チュートリアル:

PHP ビデオ チュートリアル

以上がPHPで文字列を文字に分解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。