PHPで文字列と配列を相互に変換する:explode, implode
文字列を区切り文字で分割して配列に変換したい、または、その逆で配列を1つの文字列に変換したい場合は、それぞれexplode、implode関数を使用します。
explode関数の使い方
explode('区切り文字', '文字列' [, 分割回数] );
‘文字列’ で指定した文字を ‘区切り文字’ の単位で区切ります。区切られた結果は配列にして戻り値として返します。
分割回数は指定した単位で分割しますが、省略時は、区切り文字で全てを分割します。
explodeの使用例
以下は、半角ハイフン’-‘で区切られた電話番号を配列にする例です。
コード
//配列arrayに$telephoneの分割結果を格納します。
$telphone = "090-1111-2222";
$array = explode("-", $telphone ,3 );
//$arrayの中身を出力
var_dump($array);
実行結果
array(3) {
[0]=>
string(3) "090"
[1]=>
string(4) "1111"
[2]=>
string(4) "2222"
}
implode関数の使い方
implode('区切り文字',$配列変数 );
’$配列変数’ に格納されている文字列を ’区切り文字’ で繋げて1つの文字列にします。
implodeの使用例
個別に入力した都道府県、市町村、丁目、ビル名を配列で保持していた住所を1行で表示する際に、配列を連結して確認画面などで表示します。
コード
$address = array('東京都','新宿区','新宿','1-1-1','XXXビル');
//配列を区切り文字無しでつなげる
print ( implode("", $address ));
実行結果
東京都新宿区新宿1-1-1XXXビル
また、この区切り文字は implode($address) のように省略することができ、省略した場合の区切り文字は空(””)とみなされます。