令和最新版のPHPは一味違うぜ
概要
すごく昔に、PHPで文字列を1文字ずつの配列に変換する方法について記事を書いた。
このときはメモ程度だったが、実は今でもそこそこPVがある。
流石に令和だしPHP7どころか8も出たしなにかアップデートあるやろ〜と冗談でドキュメント見てたら本当に進化してた。
環境
- PHP 7.4以上
コード
ついにマルチバイト対応の関数mb_str_split()が実装された。以下のようにかける。
<?php $str = "abcdeあい う えお"; $result = mb_str_split($str); 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 8.0では
当然動く。が、8.0から失敗時の挙動が変わっているので注意。
この関数は、失敗時に false を返さなくなりました。