【PHP】文字列を1文字単位で分割する。

めも。

str_split()を用いる。

$str = 'abcdefghijklmnopqrstuvwxyz';
$split = str_split($str);
var_dump($split);

↓

array(26) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
  [7]=>
  string(1) "h"
  [8]=>
  string(1) "i"
  [9]=>
  string(1) "j"
  [10]=>
  string(1) "k"
  [11]=>
  string(1) "l"
  [12]=>
  string(1) "m"
  [13]=>
  string(1) "n"
  [14]=>
  string(1) "o"
  [15]=>
  string(1) "p"
  [16]=>
  string(1) "q"
  [17]=>
  string(1) "r"
  [18]=>
  string(1) "s"
  [19]=>
  string(1) "t"
  [20]=>
  string(1) "u"
  [21]=>
  string(1) "v"
  [22]=>
  string(1) "w"
  [23]=>
  string(1) "x"
  [24]=>
  string(1) "y"
  [25]=>
  string(1) "z"
}

正規表現の力を使う必要が無い場合はpreg_split()を用いるよりもこちらのほうが低コストで使えるのでおすすめ。

ちなみにpreg_split()を用いる場合は下記の通り。

$str = 'abcdefghijklmnopqrstuvwxyz';
$split = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
var_dump($split);

↓

//同上