分類

    Qumeru

    explode関数 | PHP関数リファレンス

    利用できるPHPのバージョンPHP 4, PHP 5, PHP 7

    explode関数とは

    PHPのexplode関数は区切り文字を指定して文字列を分割し、配列に変換する関数です。

    explode関数から返ってきた配列は文字列を指定した区切り文字で分割された部分文字列を要素として配列になります。

    例えば

    りんご,みかん,オレンジ

    この文字列を「,(カンマ)」を区切り文字としてexplode関数を使うと結果として、下記の配列が返ってきます。

    explode関数の結果

    ["りんご", "みかん", "オレンジ"]

    explode関数の使い方

    構文

    explode ( $separator , $string , $limit = PHP_INT_MAX ) 

    パラメータ

    • $separator: explode関数に渡す区切り文字。区切り文字には正規表現は使えません。
    • $string: 分割対象の文字列。
    • $limit: explode関数から返される配列の要素の数の最大値。正の値の場合は最後の要素には残りの文字列全てが入る。負の値が指定されると最後から数えて$limit分の要素を取り除いた要素が返る。

    返り値

    対象の文字列を区切り文字で分割した結果の配列が返ります。

    ただし、このページの最後の注意点で紹介しますが、explode関数の区切り文字に空文字を渡すとfalseを返します。

    explode関数を使った例

    一般的な使い方

    上記のサンプルコードでは区切り文字にカンマを指定して、explode関数で文字列を分割し配列で取得しています。

    $liimtを指定する

    第3引数の$limitを正の整数で指定すると、指定した数の要素の配列が返ってきます。最後の要素には分割しきれなかった文字列がまとめて入ってきます。

    また上記のように第3引数に負の値を指定すると、explode関数の結果の配列から、最後から数えて、指定した数だけ要素が削られて返ってきます。

    指定した区切り文字が含まれていない場合

    対象の文字列の中に、指定した区切り文字が入っていない場合はexplode関数は対象の文字列を要素に含む配列を返します。

    ただし、上記のように第3引数の$limitが負の値の場合は空の配列を返します。

    explode関数の注意点

    区切り文字を空文字にする

    区切り文字を空文字にすると、explode関数はfalseを返す事に注意しましょう。

    下記のサンプルコードのようにexplode関数で必ずしも配列(array)が返るとは限りません。
    (PHPの設定によってはWarningが表示されます)

    explode関数の関連情報

    複数の区切り文字で分割したい

    explode関数に指定できる区切り文字は1つだけです。しかし時に複数の区切り文字を指定して、文字列を分割したい場合があります。そのやり方を下記で解説しています。

    あわせて読みたい
    PHPで複数の区切り文字で文字列を分割する方法!のイメージ
    PHPで複数の区切り文字で文字列を分割する方法!
    PHPで文字列の分割といえばexplode関数ですが、explode関数は複数の区切り文字を指定することが出来ません。今回はPHPで複数の区切り文字を指定して文字列を分割し、配列で得る方法をサンプルコード付きで解説します。