array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.str-split.php', 1 => 'str_split', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'String 関数', ), 'prev' => array ( 0 => 'function.str-shuffle.php', 1 => 'str_shuffle', ), 'next' => array ( 0 => 'function.str-starts-with.php', 1 => 'str_starts_with', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/strings/functions/str-split.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
str_split — 文字列を配列に変換する
string
入力文字列。
length
分割した部分の最大長。
オプションのパラメータ
length
が指定されている場合、
返される配列の各要素は、length
の長さとなります。但し、平等に分割できない場合、
最後の要素だけはその長さより短くなります。
デフォルトでは、
length
の値は 1
です。
つまり、
1バイトずつ分割された配列となります。
length
が1より小さい場合、
ValueError がスローされます。
バージョン | 説明 |
---|---|
8.2.0 |
string が空の場合、
空の配列が返されるようになりました。
これより前のバージョンでは、空文字列がひとつ入った配列が返されていました。
|
8.0.0 |
length が1より小さい場合、
ValueError がスローされるようになりました。
それより前のバージョンでは、
E_WARNING レベルの警告が発生し、
false を返していました。
|
例1 str_split() の使用例
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
上の例の出力は以下となります。
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )
注意:
str_split() でのマルチバイト文字列の扱いは、文字単位ではなくバイト単位での分割になります。 コードポイント単位で文字列を分割するには、 mb_str_split() を使います。