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
(2024/11/23 19:27:39時点 Amazon調べ-詳細)
(2024/11/23 19:27:39時点 Amazon調べ-詳細)