分割
文字列の分割は explode を使って、
print var_dump(explode(":", "hoge:piyo:fuga"));
結果は、
array(3) { [0]=> string(4) "hoge" [1]=> string(4) "piyo" [2]=> string(4) "fuga" }
explode の意味は、
1 〈火薬・タンクなどを〉爆発させる.
(Yahoo!辞書 より)
文字列を爆発させて分解するというイメージなのかな?
結合
文字列の結合は explode の反対 implode 。このネーミングは import <–> export のような対義語で忘れにくいかも。
print implode(":", array("hoge","piyo","fuga"));
結果は、
hoge:piyo:fuga
implode の意味は、
1 内側に破裂する.
(Yahoo!辞書 より)
「内側に破裂」ってどういうことかと思ったら、Implosion (mechanical process) - Wikipedia, the free encyclopedia によると、
An example of implosion is a submarine being crushed from the outside by the hydrostatic pressure of the surrounding water.
なるほど、潜水艦がぐしゃってなるようなやつか。つまり、配列をぎゅっとつぶして文字列にするということか。
エイリアス
それにしても、explode – implode って変った名前だなぁ。他の言語みたいに join – split にすればいいのにと思ったら、PHP: join – Manual に、
join — implode() のエイリアス
PHP: 関数エイリアスのリスト – Manual によると、
数はかなり少ないですが、PHPには複数の名前でコールされる関数があります。 いくつかの関数は単に二つの名前があり、実際の機能を持ちません。
split もあるけれど、PHP: split – Manual によると、
array split ( string $pattern , string $string [, int $limit ] )
string を、正規表現によって配列に分割します。
array explode ( string $delimiter , string $string [, int $limit ] )
文字列の配列を返します。この配列の各要素は、 string を文字列 delimiter で区切った部分文字列となります。
explode の方は区切り文字が文字列に対して、split は正規表現なのでエイリアスではないと。
0コメント:
コメントを投稿