利用できるPHPのバージョン | PHP 4, PHP 5, PHP 7 |
---|
PHPのexplode
関数は区切り文字を指定して文字列を分割し、配列に変換する関数です。
explode
関数から返ってきた配列は文字列を指定した区切り文字で分割された部分文字列を要素として配列になります。
例えば
りんご,みかん,オレンジ
この文字列を「,(カンマ)」を区切り文字としてexplode
関数を使うと結果として、下記の配列が返ってきます。
explode関数の結果
["りんご", "みかん", "オレンジ"]
explode ( $separator , $string , $limit = PHP_INT_MAX )
explode
関数に渡す区切り文字。区切り文字には正規表現は使えません。explode
関数から返される配列の要素の数の最大値。正の値の場合は最後の要素には残りの文字列全てが入る。負の値が指定されると最後から数えて$limit分の要素を取り除いた要素が返る。対象の文字列を区切り文字で分割した結果の配列が返ります。
ただし、このページの最後の注意点で紹介しますが、explode関数の区切り文字に空文字を渡すとfalseを返します。
上記のサンプルコードでは区切り文字にカンマを指定して、explode
関数で文字列を分割し配列で取得しています。
第3引数の$limitを正の整数で指定すると、指定した数の要素の配列が返ってきます。最後の要素には分割しきれなかった文字列がまとめて入ってきます。
また上記のように第3引数に負の値を指定すると、explode
関数の結果の配列から、最後から数えて、指定した数だけ要素が削られて返ってきます。
対象の文字列の中に、指定した区切り文字が入っていない場合はexplode
関数は対象の文字列を要素に含む配列を返します。
ただし、上記のように第3引数の$limitが負の値の場合は空の配列を返します。
区切り文字を空文字にすると、explode
関数はfalseを返す事に注意しましょう。
下記のサンプルコードのようにexplode
関数で必ずしも配列(array)が返るとは限りません。
(PHPの設定によってはWarningが表示されます)
explode
関数に指定できる区切り文字は1つだけです。しかし時に複数の区切り文字を指定して、文字列を分割したい場合があります。そのやり方を下記で解説しています。