implodeとは
配列中の文字列を指定された文字列により連結するPHP関数。SQL文や文言などを動的に整形する際に、よく使われる。
配列の各要素を連結したい時に、PHPのimplode関数を使います。
実際に使われる例としては、複数名前を連結して、画面上に表示するとか、SQL文IN句を組み立て、実行するとかなどなどです。
implode関数と反対するのはexplode関数と思いますが、興味を持っている方は、「PHP 文字列 分割」も読んでね~~
文法
implode( ‘連結文字’, ‘連結対象配列’ );
返り値
配列の各要素を連結文字で順番に連結した 文字列を返します。
例1:配列要素を連結 名前
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $object = array( "担当者 太郎", "担当者 次郎", "担当者 三郎", ); $glue = "/"; // 連結文字 glueの意味は、「のり」です、PHPの世界に、たべん一番分かりやすい単語と思います(笑) $rs = implode($glue, $object); var_dump($rs); //結果:担当者 太郎/担当者 次郎/担当者 三郎 ?> |
例2:配列要素を連結 SQL文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $charge_list = array( "100"=>"担当者 太郎", "200"=>"担当者 次郎", "300"=>"担当者 三郎", ); $charge_ids = array_keys($charge_list); $sql = "UPDATE sample_table SET active = '1' WHERE charge_id IN(".implode(",", $charge_ids).")"; var_dump($sql); //結果:UPDATE sample_table SET active = '1' WHERE charge_id IN(100,200,300) ?> |
まとめ
いかがでしょうか。今回はimplode関数を使って、配列要素を連結する方法を紹介しました。ループや最後の文言要素の判断などを要らずに、
implodeを使って、ただ一行だけで、簡単に実装できますね。
それでは!