配列を文字列に連結
テクノロジ系 / array-basic (添字配列・配列関数・explode/implode)
配列を文字列に連結
Lesson 4 / Chapter 7
ch06 の逆向き操作
explode: "a,b,c" → ["a", "b", "c"] implode: ["a", "b", "c"] → "a,b,c"
explodeは 分割 (文字列 → 配列)implodeは 結合 (配列 → 文字列)- セットで覚える
implode($glue, $arr) の基本
<?php
$nums = [10, 20, 30];
$s = implode(",", $nums);
echo $s . "\n"; // 10,20,30- 第 1 引数: 区切り文字 (glue)
- 第 2 引数: 配列
- 配列の要素を区切り文字でつないだ文字列が返る
区切り文字は自由に選べる
<?php
$path = ["home", "user", "docs"];
echo implode("/", $path) . "\n"; // home/user/docs
echo implode(" - ", $path) . "\n"; // home - user - docs
echo implode("\n", $path) . "\n"; // home\nuser\ndocs (改行区切り)- 1 文字でも複数文字でも OK
- 改行文字
"\n"を使えば 1 行ずつ出力するのにも使える
ループとの組み合わせ
<?php
$squares = [];
for ($i = 1; $i <= 5; $i++) {
$squares[] = $i * $i;
}
echo implode(",", $squares) . "\n"; // 1,4,9,16,25- ループで配列を組み立てる →
implodeで 1 行にまとめる - これは 競技プログラミングや CSV 出力で頻出 のパターン
このチャプターでできるようになること
✅ implode(",", $arr) でカンマ区切りに変換できる
✅ 任意の区切り文字を選べる
✅ explode の逆操作だと説明できる
✅ ループで作った配列をまとめて 1 行に出せる
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — カンマで連結
問題
配列 [1, 2, 3, 4, 5] を , で連結して 1 行出力してください。
期待される出力:
1,2,3,4,5
採点
php scripts/grade.php topics/array-basic/ch07-array-to-string/drill/01-join-comma/
ヒント
$nums = [1, 2, 3, 4, 5];echo implode(",", $nums) . "\n";