カテゴリ: PHP 更新日: 2025/12/17

PHPのexplodeとimplodeの使い方をやさしく解説!文字列と配列の変換テクニック

PHP の文字列を配列に変換(explode, implode)
PHP の文字列を配列に変換(explode, implode)

先生と生徒の会話形式で理解しよう

生徒

「PHPで文字列を分割して配列にしたいんですけど、どうすればいいんですか?」

先生

「PHPでは、explode関数を使うと、文字列を区切って配列に変換できますよ。」

生徒

「逆に、配列から文字列に戻すこともできますか?」

先生

「はい、implodeという関数を使えば、配列を文字列に結合できます。それでは基本から見ていきましょう!」

-

1. explode関数とは?文字列を配列に分割する方法

1. explode関数とは?文字列を配列に分割する方法
1. explode関数とは?文字列を配列に分割する方法

PHPのexplode(エクスプロード)関数は、文字列を「区切り文字」で分割し、配列にしてくれる便利な関数です。たとえば、カンマ(,)で区切られた文字列を分割して、名前を1つずつ取り出すことができます。

実際のコードを見てみましょう。


$str = "りんご,みかん,バナナ";
$array = explode(",", $str);
print_r($array);

Array
(
    [0] => りんご
    [1] => みかん
    [2] => バナナ
)

このように、文字列が配列に変換されます。区切り文字には、カンマだけでなく、スペースや記号なども使えます。

2. implode関数とは?配列を文字列に結合する方法

2. implode関数とは?配列を文字列に結合する方法
2. implode関数とは?配列を文字列に結合する方法

今度は逆に、配列を1つの文字列にしたい場合は、implode(インプロード)関数を使います。複数のデータを、カンマなどでつなげたいときに便利です。


$array = ["東京", "大阪", "名古屋"];
$str = implode("・", $array);
echo $str;

東京・大阪・名古屋

このように、配列の各要素が「・」でつながれた1つの文字列になります。

3. explodeとimplodeの使い分けを図で理解しよう

3. explodeとimplodeの使い分けを図で理解しよう
3. explodeとimplodeの使い分けを図で理解しよう

ここで、図を使って関係を整理してみましょう。

文字列 → 配列explode
配列 → 文字列implode

イメージとしては、「切り分ける(爆発させる)」のがexplode、「くっつける(融合させる)」のがimplodeと考えると覚えやすいです。

4. 区切り文字を変えて応用しよう!

4. 区切り文字を変えて応用しよう!
4. 区切り文字を変えて応用しよう!

区切り文字は、状況によって自由に変えられます。たとえば、スペースで区切った文字列を扱うときは次のようにします。


$str = "PHP は 初心者 に やさしい 言語";
$array = explode(" ", $str);
print_r($array);

スペースで文字列が分割され、それぞれの単語が配列として取り出されます。逆にスペースでつなげるには:


$array = ["PHP", "配列", "文字列", "変換"];
$str = implode(" ", $array);
echo $str;

PHP 配列 文字列 変換
-

5. ユーザー入力をexplodeで処理する実践例

5. ユーザー入力をexplodeで処理する実践例
5. ユーザー入力をexplodeで処理する実践例

たとえば、ユーザーが入力フォームで「趣味」をカンマで区切って入力したとします。


$input = "映画鑑賞,旅行,読書";
$hobbies = explode(",", $input);

foreach ($hobbies as $hobby) {
    echo "趣味:$hobby\n";
}

趣味:映画鑑賞
趣味:旅行
趣味:読書

このように、ユーザーの入力を使って、リストとして扱うことができます。

6. implodeでCSVデータを1行に変換する例

6. implodeでCSVデータを1行に変換する例
6. implodeでCSVデータを1行に変換する例

CSVファイルに保存するときなど、データを1行の文字列にしたい場面ではimplodeが便利です。


$data = ["田中一郎", "35", "tanaka@example.com"];
$csv_line = implode(",", $data);
echo $csv_line;

田中一郎,35,tanaka@example.com

この形式はCSVファイルと呼ばれる表形式のデータで、Excelでも開ける形式になります。

7. 文字列処理の便利な組み合わせ技

7. 文字列処理の便利な組み合わせ技
7. 文字列処理の便利な組み合わせ技

explodeimplodeは、他の文字列関数と組み合わせるともっと便利に使えます。たとえば、トリム(空白削除)や大文字小文字変換と組み合わせて処理すると、きれいなデータに整えられます。


$input = "りんご , みかん , バナナ ";
$array = explode(",", $input);

foreach ($array as $item) {
    $clean = trim($item);
    echo $clean . "\n";
}

りんご
みかん
バナナ

trim関数は、文字列の前後にあるスペース(空白)を取り除く関数です。

まとめ

まとめ
まとめ

今回は、PHPのexplode関数とimplode関数の基本的な使い方から応用例までを学びました。文字列を分割して配列に変換するexplodeと、配列をつなぎ合わせて文字列にするimplodeは、PHPの文字列処理において非常に重要なテクニックです。

特に、フォームからの入力データを配列にしたり、CSV形式のデータを保存するような場面では頻繁に使われます。区切り文字を変更すれば、スペースや「・」、「|」などさまざまなパターンにも対応できます。また、trimstrtolowerなどの文字列処理関数と組み合わせることで、データをよりきれいに整えることも可能です。

下記は、今回の内容を振り返る意味も込めた総合的なサンプルコードです。実務でもよく使う処理なので、ぜひ参考にしてください。

■explodeとimplodeを活用したサンプルコード


<?php
// ユーザーが入力した趣味の文字列(カンマ区切り)
$input = "音楽鑑賞, 読書 , スポーツ";

// 空白を取り除きながら配列に分割
$hobbies_raw = explode(",", $input);
$hobbies = [];

foreach ($hobbies_raw as $hobby) {
    $hobbies[] = trim($hobby);
}

// 配列の各趣味を表示
foreach ($hobbies as $item) {
    echo "趣味:{$item}<br>";
}

// データベース保存用にCSV形式に変換
$csv = implode(",", $hobbies);
echo "CSV出力:{$csv}";
?>

このように、explodeで分割し、trimで前後の空白を取り除き、implodeで再度つなげることで、入力データを整えながら柔軟に扱えるようになります。

また、CSV形式での保存や表示処理に応用すれば、PHPを使ったフォーム入力やデータ整理の幅が広がります。文字列と配列の相互変換は、初歩ながら実務で頻繁に登場する処理ですので、確実に理解しておきましょう。

先生と生徒の振り返り会話

生徒

「先生、explodeとimplodeって、文字列と配列の間を行ったり来たりできるんですね!」

先生

「そうなんだ。文字列をexplodeで分割して配列にすれば、1つ1つの要素を処理しやすくなるし、逆にimplodeでまとめればCSVなどの形式に整えられるよ。」

生徒

「ユーザー入力を処理したり、データベースに保存したりするときにすごく使えそうです!」

先生

「その通り。フォームの入力データやCSV処理なんかで大活躍するよ。あと、trimと組み合わせれば、余計なスペースもきれいにできるから実務でもよく使われる組み合わせなんだ。」

生徒

「なるほど〜。これから文字列を扱うときは、explodeとimplodeを思い出して使ってみます!」

先生

「うん、たくさん使って慣れていこう。配列と文字列の変換が自由自在になると、PHPでのデータ処理がとても楽になるよ!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PHPのexplode関数とは何ですか?どんなときに使うのですか?

PHPのexplode関数は、文字列を指定した区切り文字で分割して配列に変換するために使います。たとえばカンマで区切られたリストを配列にしたいときなどに便利です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
-
-