explode

(PHP 3, 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 で追加されました。

例 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() , str_split() , strtok() , implode() . も参照ください。