[PHP] 文字列を分割する explode()関数

スポンサーリンク

PHPで文字列を分割する場合は、 explode()関数を使います。 explode()関数は指定された文字で分割した結果を配列として返します。

explode()関数の書式


explode(引数1, 引数2 [, 引数3])

引数1
区切り文字
引数2
文字列
引数3
返す配列の最大要素数
戻り値
文字列を分割した配列

文字列を分割する

カンマ「,」区切り

まずは文字列$strをカンマ「,」で区切ります。

$str = "a,b,c";

$arr = explode(",", $str); 

print_r($arr);

実行結果

Array
(
    [0] => a
    [1] => b
    [2] => c
)

タブ、改行、空白(スペース)で分割する

  • タブで分割する場合は「"\t"」
  • 改行で分割する場合は「"\n"」
  • 空白(スペース)で分割する場合は「" "」

$arr = explode("\t", $str); // タブで分割

$arr = explode("\n", $str);  // 改行で分割

$arr = explode(" ", $str);  // 空白で分割

引数3(返す配列の最大要素数)を指定してみる

引数3で「返す配列の最大要素数」を指定してみます。

結果は、最後の配列に分割できなかった部分がまとめて入っています。


$str = "a,b,c,d,e";

$arr = explode(",", $str, 3); 

print_r($arr);

実行結果

Array
(
    [0] => a
    [1] => b
    [2] => c,d,e
)

空文字「""」で区切るとエラーになる

区切り文字に空文字「""」を指定すると、 エラーが発生します。


$str = "abc";

$arr = explode("", $str); 

print_r($arr);

実行結果

PHP Warning:  explode(): Empty delimiter in E:\test\test.php on line 7

Warning: explode(): Empty delimiter in E:\test\test.php on line 7