【PHP8.x】str_split関数の使い方
作成日: 更新日:
str_split関数は、文字列を指定したバイト数ごとに分割し、配列に変換する関数です。第1引数に対象の文字列を、第2引数に分割する各要素の長さをバイト単位で指定します。第2引数は省略可能で、省略した場合はデフォルト値の1が適用され、文字列は1バイトずつに分割されて配列の各要素に格納されます。例えば、第2引数に3を指定すると、文字列は先頭から3バイトずつの塊に分割されます。この際、最後の要素は残りのバイト数が指定した長さに満たない場合でも、その残りの文字列がそのまま格納されます。この関数を使用する上で重要な注意点は、処理が文字数ではなくバイト数に基づいている点です。そのため、UTF-8のようなマルチバイトエンコーディングが使われている日本語などの文字列に対して1以外の長さを指定すると、1つの文字が途中で分割されてしまい、文字化けを引き起こす可能性があります。マルチバイト文字を文字単位で安全に分割したい場合には、代わりにmb_str_split関数を使用することが推奨されます。関数は処理が成功すると文字列の断片を要素とする配列を返し、空の文字列が渡された場合は空の配列を返します。
基本的な使い方
構文(syntax)
<?php
$string = "Hello PHP";
$array_of_characters = str_split($string);
print_r($array_of_characters);
$long_string = "Programming";
$array_of_chunks = str_split($long_string, 3);
print_r($array_of_chunks);
?>
引数(parameters)
string $string, int $length = 1
- string $string: 分割したい文字列
- int $length = 1: 各チャンク(分割された部分)の最大長を指定する整数。デフォルトは1です。
戻り値(return)
array
指定された文字列を、指定された長さのチャンク(部分文字列)に分割した配列を返します。