皆さんこんにちは新米です。
本記事では、phpのexplode関数の使い方について紹介していきたいと思います。
explode関数とは?
explode関数とは、文字列を文字で分割し配列にして返すという方法です。
例えば、このような文字列があるとします。
この文字列を分割し、以下の配列のように各要素にデータを格納したい場合、explode関数を使用します。
配列[1]= ”バナナ”
配列[2]= ”モモ”
配列[3]= ”オレンジ”

explodeは文字列を分割して配列に格納したいときに使うんだね!

そうだね!では実際にexplode関数の書いてみよう!
explodeの書き方
<構文>
第1引数 |
区切り文字(例としてスラッシュやカンマなど) |
第2引数 |
入力文字(文字列) |
第3引数(任意) |
返される配列の最大の要素の数 |
注意点
・引数1:指定した文字列に区切り文字が含まれなかった場合はそのまま文字列を返す。
・引数2:区切り文字が空文字(“”)の場合エラーになるので注意。スペース(“ ”)を開けている場合は問題ありません。
・引数3:最大要素数が指定された場合は、最後の配列要素に残りの文字列がすべて格納されます。なお最大要素数に関しましては任意です。
実際にexplode関数を書いてみよう!

書き方も知ったところで、実際に書いてみよう!
■文字列をカンマ(“,”)で分割する場合。
[サンプルコード]
<?php $frends = "小倉,小泉,有留,江島"; $name = explode(",",$frends); print_r($name); //出力したい要素のみを出力する場合 echo ($name[1]); ?>
実行結果
(
[0] => 小倉
[1] => 小泉
[2] => 有留
[3] => 江島
)
小泉
■文字列をスペース(“ ”)で分割してみよう。
<?php $frends = "小倉 小泉 有留 江島"; $name = explode(" ",$frends); print_r($name); ?>
実行結果
(
[0] => 小倉
[1] => 小泉
[2] => 有留
[3] => 江島
)
注意:先ほども述べましたが、スペースなし(””)の場合はエラーになります。
//スペースなしはエラー $name = explode("",$frends);
実行結果
■指定した文字列に区切り文字が含まれなかった場合
文字列はカンマ(,)区切りで引数2にスラッシュ(“/”)を指定した結果を見てみましょう。
[サンプルコード]
<?php $frends = "小倉,小泉,有留,江島"; $name = explode("/",$frends); print_r($name); ?>
実行結果
(
[0] => 小倉,小泉,有留,江島
)

文字列に区切り文字が含まれないためそのまま配列に格納されていることが分かりますね!
■最大要素数の指定
今回、最大要素を2に設定して実行結果を見てみましょう。
[サンプルコード]
<?php $frends = "小倉,小泉,有留,江島"; $name = explode(",",$frends,2); print_r($name); ?>
実行結果
(
[0] => 小倉
[1] => 小泉,有留,江島
)
最大要素数を指定するとたとえ区切り文字が含まれていても文字列は分割しません。
まとめ
いかがだったでしょうか。
今回はexplode関数の使い方について解説しました。
explodeは日本語で「爆発や破裂」という意味で、値と値を離すニュアンスで覚えると良いかもしれませんね!
コメント