explode

(PHP 3, PHP 4, PHP 5)

explode -- 文字列を文字列により分割する

説明

array explode ( string separator, string string [, int limit] )

文字列の配列を返します。この配列の各要素は、 string を文字列 separator で区切った部分文字列となります。 limit が指定された場合、返される配列には 最大 limit の要素が含まれ、その最後の要素には string の残りの部分が全て含まれます。

空の文字列("")がseparator として使用された 場合、explode()FALSEを 返します。separator に引数 stringに含まれていない値が含まれている場合、 explode()は、引数string を返します。

もし limit パラメータが負の場合、 最後の limit を除く全ての構成要素が返されます。 この特徴は PHP 5.1.0 で追加されました。

歴史的理由により、implode() はいずれのパラメータ順も受け入れることができますが、 explode() はそうできません。 string 引数の前に必ず separator 引数がくるように確認する必要があります。

注意: パラメータ limit は、PHP 4.0.1 で追加され ました。

例 1. explode() の例

<?php
// 例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo
$pieces[0]; // piece1
echo $pieces[1]; // piece2

// 例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list(
$user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo
$user; // foo
echo $pass; // *

?>

例 2. limit パラメータの例

<?php
$str
= 'one|two|three|four';

// 正の値を持つ limit
print_r(explode('|', $str, 2));

// 負の値を持つ limit (PHP 5.1 以降)
print_r(explode('|', $str, -1));
?>

上の例の出力は以下となります。

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

注意: この関数はバイナリデータに対応しています。

preg_split(), spliti(), split(), strtok(), implode(). も参照ください。