PHPのimplodeで配列を結合し文字列にする方法
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という関数があります。
併用して使うことも多いので併せて覚えておいてください。
サンプルコード
$fruits = 'apple、banana、grape、cherry、strawberry'; //全角の「、」毎に配列に区切る $aryHoge = explode('、', $fruits); print_r($aryHoge);
Array
(
[0] => apple
[1] => banana
[2] => grape
[3] => cherry
[4] => strawberry
)
(
[0] => apple
[1] => banana
[2] => grape
[3] => cherry
[4] => strawberry
)
implode関数とexplode関数は利用機会の多い関数などで、使い方を知っておくと何かと便利です。
以上、PHPのimplodeで配列を結合し文字列にする方法、でした。
ディスカッション
コメント一覧
まだ、コメントがありません