読者です 読者をやめる 読者になる 読者になる

PHPで日本語(マルチバイト)を含む文字列を一文字ずつ配列に分割させる方法

php

ありそうだけどコレって標準関数で用意されてないんだね・・・
これが魔法の一行

preg_split("//u", $text, -1, PREG_SPLIT_NO_EMPTY);
<pre>
<?php
$str = "abcdeあい う えお";
$result = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
var_dump($result);

結果

array(12) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(3) "あ"
  [6]=>
  string(3) "い"
  [7]=>
  string(1) " "
  [8]=>
  string(3) "う"
  [9]=>
  string(3) " "
  [10]=>
  string(3) "え"
  [11]=>
  string(3) "お"
}

こんなやり方あるのかーとか思ってたけどPHP公式のpreg_splitのドキュメントに似たようなやつ載ってたわ。
参考リンク:
PHPで日本語(マルチバイト)文字列を一文字ずつ配列に分解する関数