PHP: 文字列を分割する explode()

文字列を分割 explode()

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

書式
explode(区切り文字, 文字列 [, 最大要素数])

戻り値は分割された配列です。

カンマ「,」で分割する

まずは文字列$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);   // 空白で分割

返す配列の最大要素数を指定

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

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

$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

Warning: explode(): Empty delimiter