動かざることバグの如し

近づきたいよ 君の理想に

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

2021年1月3日追記

PHP7.4以降では標準メソッドだけで書ける。

thr3a.hatenablog.com

以下過去分

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

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で日本語(マルチバイト)文字列を一文字ずつ配列に分解する関数