カテゴリ: PHP 更新日: 2026/02/18

PHPのexplodeとimplodeの使い方を完全解説!初心者でもわかる文字列と配列の変換方法

PHP の explode(), implode() を使った文字列と配列の変換
PHP の explode(), implode() を使った文字列と配列の変換

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

生徒

「PHPで文字列をバラバラに分けたり、逆にくっつけたりってできますか?」

先生

「できますよ!explode関数で文字列を分割して配列に、implode関数で配列を文字列に戻すことができます。」

生徒

「それってどんなときに使うんですか?難しそう…」

先生

「メールアドレスの一覧や、カンマ区切りのデータを扱いたいときにとても便利です。やさしく解説するので一緒に見ていきましょう!」

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

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

PHPのexplode(エクスプロード)関数は、特定の「区切り文字」を境目にして、1つの長い文字列をバラバラに分解し、配列(リスト形式)に変換する関数です。

プログラミング未経験の方でもイメージしやすい例として、「買い物リスト」を考えてみましょう。例えば、メモ帳に「りんご・みかん・バナナ」と1行で書かれたデータを、プログラムで扱いやすいように1つずつの項目に分けたいときにこの関数が活躍します。

基本的な使い方とサンプルコード

以下の例では、中点(・)を区切り文字として指定して、果物の名前を分割しています。


// 分割したい元の文字列
$data = "りんご・みかん・バナナ";

// explode(区切り文字, 元の文字列) の順で書く
$fruits = explode("・", $data);

// 配列の中身を確認
print_r($fruits);

実行結果:


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

このように、explodeを使うと「0番目はりんご」「1番目はみかん」といった具合に、データが整理された状態になります。これは、ユーザーが入力したキーワード検索(スペース区切り)や、CSVファイルのようなカンマ区切りのデータを1つずつ取り出して処理したいときに非常に役立つテクニックです。

ポイント: 第1引数に指定する「区切り文字」が元の文字列の中に存在しない場合は、分割されずに「要素が1つだけの配列」が返ってくるという特徴もあります。

2. implode関数とは?配列を文字列にくっつける方法

2. implode関数とは?配列を文字列にくっつける方法
2. implode関数とは?配列を文字列にくっつける方法

次に、配列をimplode(インプロード)関数を使って文字列に変換する方法を見てみましょう。
例えば、複数の単語を1つの文章にしたいときに使えます。


$array = ["りんご", "みかん", "バナナ"];
$text = implode("、", $array);
echo $text;

実行結果:


りんご、みかん、バナナ

このように、配列の要素を「、」や「-」など好きな文字でつなげて1つの文字列にできます。

3. explodeとimplodeはセットで使うと便利

3. explodeとimplodeはセットで使うと便利
3. explodeとimplodeはセットで使うと便利

explodeimplodeは、セットで使うことが多いPHPの文字列処理関数です。
たとえば、データを一時的に保存するときは文字列にして、あとで配列に戻すという使い方ができます。


$text = "PHP,JavaScript,Python";
$langArray = explode(",", $text);

$newText = implode(" / ", $langArray);
echo $newText;

実行結果:


PHP / JavaScript / Python

このように、文字列→配列→文字列と自由に変換できます。

4. 区切り文字は自由に設定できる

4. 区切り文字は自由に設定できる
4. 区切り文字は自由に設定できる

explodeimplodeでは、区切り文字(セパレーター)を自由に設定できます。
よく使われるのは以下のような文字です。

  • ,(カンマ)
  • |(パイプ)
  • スペース
  • /(スラッシュ)

例えば、半角スペースで区切る場合:


$text = "HTML CSS JavaScript";
$words = explode(" ", $text);
print_r($words);

5. implodeはjoinと同じ意味

5. implodeはjoinと同じ意味
5. implodeはjoinと同じ意味

implodeは、joinという別名でも使えます。どちらを使っても結果は同じです。


$fruits = ["いちご", "もも", "ぶどう"];
echo join("・", $fruits);

出力:


いちご・もも・ぶどう

joinは英語で「つなげる」という意味があり、配列の要素を1つにまとめるという点ではimplodeとまったく同じ働きをします。

6. フォームの入力データにも使える

6. フォームの入力データにも使える
6. フォームの入力データにも使える

たとえばチェックボックスなどで複数選択された項目をimplodeで1つの文字列にまとめて保存することができます。

逆に、保存された文字列をexplodeで配列に戻せば、編集画面で選択状態を再現できます。


// フォームから受け取った配列
$hobbies = ["映画", "音楽", "読書"];

// カンマでつなげて保存
$saveText = implode(",", $hobbies);

// 保存した文字列を取り出して配列に戻す
$restoreArray = explode(",", $saveText);

このように、explodeとimplodeは、PHPで文字列と配列を自由に行き来するための大切な関数です。

まとめ

まとめ
まとめ

PHPにおける文字列操作は、初心者がつまずきやすいポイントのひとつですが、explodeimplodeという二つの関数を理解することで、文字列と配列の変換がとても簡単に行えるようになります。この記事では、文字列を配列に分割するexplode関数と、配列を文字列に結合するimplode関数の基本的な使い方を中心に、さまざまな例と一緒に解説してきました。

explode関数は、区切り文字を指定することで文字列を配列に分割することができます。たとえばカンマやスペース、スラッシュなどを使って、テキストデータを細かく扱いたいときにとても役立ちます。一方でimplode関数は、その逆で、配列を一つの文字列にまとめるために使われます。たとえばフォームから送信された複数の値を保存したり、表示用のテキストに変換したりと、活用シーンが非常に多い関数です。

特に、explodeとimplodeは組み合わせて使うことが多く、一時的にデータを保存したり再表示したりする場面では欠かせません。保存時にimplodeで1つの文字列にして、再利用時にexplodeで配列に戻すことで、ユーザーの操作をスムーズに扱うことができます。

PHPで文字列と配列を変換するサンプル

たとえば、フォーム入力で複数の値を保存して再利用するには、以下のように書けます。


$selectedTags = ["PHP", "JavaScript", "CSS"];
$storedValue = implode("|", $selectedTags); // データベースに保存
echo $storedValue; // PHP|JavaScript|CSS

$restoredArray = explode("|", $storedValue); // 配列に戻す
print_r($restoredArray);

このように、文字列と配列を変換できると、PHPでのデータ操作がより柔軟に行えます。区切り文字を工夫することで、可読性や用途に応じた出力が可能です。

implodeとjoinの違い

implodejoinは機能的には同じで、どちらを使っても配列の結合が可能です。ただし、一般的にはimplodeの方が多く使われており、初心者のうちはimplodeで覚えるのがおすすめです。

区切り文字を自由に設定するコツ

explodeimplodeでは、区切り文字を自由に設定できますが、保存や表示時の見やすさも考慮して、「,(カンマ)」「・(中点)」「|(パイプ)」などを用途に応じて選ぶとよいでしょう。特に複数の単語やタグ、キーワードを扱うときには、使いやすい区切り記号を決めておくと後々管理しやすくなります。

初心者におすすめの練習

  • カンマ区切りの文字列をexplodeで配列にしてみる
  • 配列をimplodeで「・」や「|」で連結して表示してみる
  • explode→implodeの往復変換で同じデータが保てるか試す
  • フォームから送信されたチェックボックスの配列を文字列に変換して保存してみる

explodeとimplodeを正しく使いこなすことで、PHPでの文字列操作や配列の扱いが大きく広がります。とくにユーザー入力やCSVデータなどを扱う場面では頻出のテクニックです。実際に手を動かして、いろいろな区切り文字やデータパターンで試してみることが、理解を深める近道になります。

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

生徒

「explodeとimplodeって、最初は名前が難しそうだけど、やってみるとけっこう簡単ですね!」

先生

「そうですね。文字列と配列の変換が自由にできると、データの加工や保存、表示にすごく便利になりますよ。」

生徒

「カンマとかスペースとか、区切り文字も好きに選べるのが助かります。」

先生

「フォーム入力の処理やCSVの読み込みでも大活躍しますから、実際の開発でもどんどん使っていきましょう。」

生徒

「はい、implodeとexplodeでいろいろ練習してみます!」

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

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

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

PHPのexplode関数とは何をするための関数ですか?

explode関数は、文字列を特定の区切り文字で分割して配列に変換するためのPHPの組み込み関数です。カンマやスペースなどを使って、1つの文字列を複数の要素に分解するのに便利です。
コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
New1
Python
Pythonのカスタム例外を作成する方法を完全解説!初心者でもわかる独自のExceptionクラス入門
New2
PHP
PHP の型変換を完全ガイド!初心者でもわかる明示的変換・自動変換
New3
PHP
PHPの真偽値と条件判定をやさしく解説!初心者でもわかるempty・isset・is_nullの使い方
New4
PHP
PHP の file_get_contents() を使ってファイルを読み込む方法!初心者でもできる簡単なファイル操作
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.4
Java&Spring記事人気No4
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.5
Java&Spring記事人気No5
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.6
Java&Spring記事人気No6
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.7
Java&Spring記事人気No7
PHP
初心者向けPHP の MySQL のデータを更新する方法(UPDATE 文)完全ガイド
No.8
Java&Spring記事人気No8
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方