PHPで日本語の文字列を一つずつ配列に格納する方法

PHPで、文字列を一文字ずつ配列に格納する方法として「str_split」関数が有名ですが、これは半角文字列にしか対応していません。

なので、日本語(全角)文字列に対して使用すると、おかしなことになります。

では、どのように書くかですが、次のように書けばOKです。

preg_split("//u", $value, -1, PREG_SPLIT_NO_EMPTY);
// ※$valueに文字列を指定

第一引数は検索パターン、第二引数は対象の文字列を表します。

第三引数の-1はlimitを表し、-1の場合は「制限がないこと」を意味します。

第四引数の「PREG_SPLIT_NO_EMPTY」 はフラグでこれを設定すると、空文字列でないものだけが preg_split() により返されます。

詳しくは公式リファレンスをチェックしてください。

公式リファレンスへ

これで、日本語(マルチバイト)の文字列でも1文字ずつ配列に入れることが可能です。

改行コードや空白などもきちんと配列に入れてくれるので、試してみてください。

created by Rinker
¥2,728 (2020/10/30 00:34:04時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA