PHPのimplodeで配列を結合し文字列にする方法

2020年2月20日

PHPで、配列を任意の単語で結合し、文字列として取得できるimplode関数の使い方をまとめました。

implode関数の使い方

配列と、結合したい文字列を設定する

implodeは、第一引数に結合したい文字列を、第二引数に配列を設定します。

implode('結合する文字列', 配列)
サンプルコード
$aryHoge = ['apple', 'banana', 'grape', 'cherry', 'strawberry'];

//配列を「@」で結合
$fruits = implode('@', $aryHoge);

echo $fruits;
apple@banana@grape@cherry@strawberry

implode関数は、配列をカンマ区切りの文字列に変換してcsv出力するなど、汎用的に使用できる関数となっています。

配列のみでも設定が可能

implodeは一応配列のみでも指定が可能です。
その場合は空の文字列がデフォルト値として設定されます。

サンプルコード
$aryHoge = ['apple', 'banana', 'grape', 'cherry', 'strawberry'];

//配列のみで設定 ただ文字列として繋がるだけ
$fruits = implode($aryHoge);

echo $fruits;
applebananagrapecherrystrawberry

改行やタブ等の特殊文字も結合可能(ただし注意点あり)

改行(\n)やタブ(\t)も、implodeで結合が出来ます。

ただ、改行やタブなどの特殊文字は、PHPの仕様で第一引数を""(ダブルクオーテーション)で囲わないと判定されません。

''(シングルクオーテーション)の場合はただの\nという文字列になってしまうので、特殊文字の仕様を把握しておきましょう。

改行できる(ダブルクオート)

サンプルコード
$aryHoge = [];
$aryHoge[] = 'こんにちは';
$aryHoge[] = 'ありがとう';
$aryHoge[] = 'さようなら';

echo implode("\n", $aryHoge);
こんにちは
ありがとう
さようなら
※ソースコードの結果

改行できない(シングルクオート)

サンプルコード
$aryHoge = [];
$aryHoge[] = 'こんにちは';
$aryHoge[] = 'ありがとう';
$aryHoge[] = 'さようなら';

echo implode('\n', $aryHoge);
こんにちは\nありがとう\nさようなら
※ソースコードの結果

逆の処理(文字列を配列化)のexolode

implode関数の真逆の処理に、文字列を指定の単語で区切って配列に変換するexplodeという関数があります。

参考 PHPのexplodeで文字列を配列に変換する方法

併用して使うことも多いので併せて覚えておいてください。

サンプルコード
$fruits = 'apple、banana、grape、cherry、strawberry';

//全角の「、」毎に配列に区切る
$aryHoge = explode('、', $fruits);

print_r($aryHoge);
Array
(
    [0] => apple
    [1] => banana
    [2] => grape
    [3] => cherry
    [4] => strawberry
)

implode関数とexplode関数は利用機会の多い関数などで、使い方を知っておくと何かと便利です。

以上、PHPのimplodeで配列を結合し文字列にする方法、でした。

PHP