PHPで文字列を分割するexplode関数の使い方

投稿日: 作成:   更新:

PHPでは文字列を区切り文字で配列に分割するexplode関数があります。

この記事では、次の内容を解説します。

  • explode関数とは
  • explode関数の使い方
  • 配列から文字列を結合する関数の紹介

今回は、explode関数について、わかりやすく解説していきます。

「explode関数の使い方」のところで、実際にソースコードをコピーして試してみると理解しやすいと思います。

それでは行きましょう!

explode関数とは

explode(区切り文字, 入力文字)
explode(区切り文字, 入力文字, 配列の最大要素数)
引数 第1引数:区切り文字(string)
第2引数:入力文字(string)
第3引数:返ってくる配列の最大要素数。最後の配列には分割の残りの文字列がすべて格納されます(int)※省略可
戻り値 分割後の配列(array)

explode関数の使い方

それでは、explode関数を実際に使ってみましょう。

区切り文字「カンマ」で配列に分割

カンマ区切りの1つの文字列を配列に変換してみます。

<?php
 
// カンマ区切りの文字列
$fruits = 'バナナ,イチゴ,スイカ,メロン';
 
// 区切り文字「,カンマ」で配列に分割する
$arr = explode(',', $fruits);
 
print_r($arr);
 
?>

出力結果:

区切り文字「半角スペース」で配列に分割

次に半角スペース区切りの1つの文字列を配列に変換してみます。

<?php
 
// 半角スペース区切りの文字列
$fruits = 'Banana Strawberry Watermelon Melon';
 
// 区切り文字「 半角スペース」で配列に分割する
$arr = explode(' ', $fruits);
 
print_r($arr);
 
?>

出力結果:

最大要素数を指定した場合

第3引数に指定する最大要素数を指定したサンプルコードです。
「2」を指定しましたので「イチゴ」以降が分割されないまま残っています。

<?php
 
$fruits = 'バナナ,イチゴ,スイカ,メロン';
 
// 第3引数に「2」を指定
$arr = explode(',', $fruits, 2);
 
print_r($arr);
 
?>

出力結果:

配列から文字列を結合する

explode関数とは反対に配列から文字列を結合するimplode関数があります。
「文字列⇔配列」の変換は良くセットで使用しますので、この機会に覚えておきましょう。

<?php
 
$fruitsArray = [
    'バナナ',
    'イチゴ',
    'スイカ',
    'メロン'
];
 
// 配列の間に「,カンマ」をはさんで、1つの文字列に結合する
$str = implode(',', $fruitsArray);
 
print_r($str);
 
?>

出力結果:

まとめ

いかがでしょうか。
今回は、PHPの文字列を分割するexplode関数について解説しました。

explode関数は、実際の開発現場でCSVやURLの文字列の分割などに良く使用されます。また、名前の「姓、名」を分割したりするのに使ったりします。

他にも文字列を分割する関数は正規表現で分割するpreg_split関数などがあります。
ぜひこちらも覚えましょう!


プログラミングスクールをお探しの方へ

プログラミング学習を挫折せずに続けて成功できる人は

「目的目標を明確にすること」
「質問・相談できる環境を作ること」
「自己解決スキルを身に着けること」

この3つを大切にしてると思います。

ただ漠然とプログラミング学習をしているだけでは
すぐに身に付きませんので、プログラミングスクールがおすすめです。

  • テックキャンプ
    本気でIT業界に転職したい方におすすめです。
    転職できなかったら全額返金があります。
  • DMM WEBCAMP
    国から認定されているスクールです。
    やむなく離職中の方など、条件を満たしている方は教育訓練給付金が支給されます。
  • TechAcademy
    1週間の無料体験があります。
    気軽にスクールを体験したい方向けです。