purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

explode()とimplode()

さて、phpにはexplode()とimplode()というStrings(文字列関数)があります。

explode()ってのは知ってたんだけど

引用:explode - PHPプロ!マニュアル

<?php
// 例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>


こんな感じで区切り文字で分割して配列に入れるやつがexplode()


じゃぁ配列を区切り文字で結合して一つの文字列にするにはどうすればいいの><
って思った時に僕が今までやってた手法は
配列をforとかでぐるぐる回して、

$str = $str.", ";


とかしてたんです(>_<)
これだと一番最後にも区切り文字が付いちゃうんですね;;


そこでimplode()の登場です。


implode - PHPプロ!マニュアル

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?>


よし!これで上手に区切れました!

PS.

joinという関数がありまして、これはimplode() のエイリアス(名前は違えど実体は同じ)なのです。