str_split

文字列を配列に変換する

説明

array str_split(string $string, int $length = 1)

文字列を配列に変換します。

パラメータ

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 を使います。 文字列を書記素クラスターに分割するには、 grapheme_str_split を使います。

参考

  • mb_str_split
  • grapheme_str_split
  • chunk_split
  • preg_split
  • explode
  • count_chars
  • str_word_count
  • for