PHPではpreg_split
やmb_str_split
を使うことで文字列を一定の長さごとに配列に設定することができます。
PHP7.4からは一定の長さで文字列を区切る関数であるstr_split
のマルチバイト対応であるmb_str_split
が使えるようになりました。 日本語などのマルチバイト文字列を扱う際はmb_str_split
を使ってください。
リファレンス: mb_str_split
実際にmb_str_splitを使って文字列を分割する例がこちらです。
<?php
$text = "PHPの文字列分割";
$output = mb_str_split($text, 3);
var_dump($output);
array(3) {
[0]=>
string(3) "PHP"
[1]=>
string(9) "の文字"
[2]=>
string(9) "列分割"
}
mb_str_split
の第二引数で値を指定することで、文字列を3文字ずつ分割し配列に格納することができました。
PHP7.4より前のバージョンではpreg_splitを使うことでマルチバイトの文字列分割を実装することができます。
$text = "PHPの文字列分割";
$output = preg_split('//u', $text, -1, PREG_SPLIT_NO_EMPTY);
var_dump($output);
array(9) {
[0]=>
string(1) "P"
[1]=>
string(1) "H"
[2]=>
string(1) "P"
[3]=>
string(3) "の"
[4]=>
string(3) "文"
[5]=>
string(3) "字"
[6]=>
string(3) "列"
[7]=>
string(3) "分"
[8]=>
string(3) "割"
}
PHP7.4から文字列分割するのに便利なmb_str_split
が使えるようになり非常に便利になりました。
過去のバージョンでもpreg_splitで正規表現することで文字列を分割することができますね。