(PHP 4, PHP 5)
explode — 文字列を文字列により分割する
説明
array
explode ( string delimiter, string string [, int limit] )
文字列の配列を返します。この配列の各要素は、
string を文字列
delimiter で区切った部分文字列となります。
limit が指定された場合、返される配列には
最大
limit の要素が含まれ、その最後の要素には
string の残りの部分が全て含まれます。
空の文字列 ("") が
delimiter として使用された場合、
explode() は
FALSE
を返します。
delimiter に引数
string に含まれていない値が含まれている場合、
explode() は、引数
string
を返します。
もし
limit パラメータが負の場合、
最後の -
limit 個の要素を除く全ての構成要素が返されます。
この特徴は PHP 5.1.0 で追加されました。
歴史的理由により、
implode()
はいずれのパラメータ順も受け入れることができますが、
explode() はそうできません。
string 引数の前に必ず
delimiter 引数がくるように確認する必要があります。
注意:
パラメータ
limit は、PHP 4.0.1 で追加されました。
例 2261. 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; // *
?>
例 2262. 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(),
str_split(),
strtok(),
implode().
も参照ください。