PHPで文字列を分割するときに使えるexplode関数は指定したい文字列で文字列を配列に変換してくれます。 文字列をカンマ、タブ、改行コードなどで配列に分割してデータを読み込みたい、そんな時にexplodeは使っていくことができます。
explode関数は指定した文字列で文字列を分割して配列にします。
explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] ) : array
パラメータ | |
---|---|
delimiter | 区切り文字列 |
string | 入力文字列 |
limit | limit に正の値が指定された場合、返される配列には 最大 limit の要素が含まれ その最後の要素には string の残りの部分が全て含まれます。 もし limit パラメータが負の場合、 最後の -limit 個の要素を除く全ての構成要素が返されます。 limit パラメータがゼロの場合は、1 を指定したものとみなされます。 |
文字列分割で一番多い利用用途はCSV(カンマ区切り)やTSV(タブ区切り)などのファイルから読み込んだ文字列を分割したりすることです。
実際に文字列を分割する方法がこちら
<?php
$csv = "ID,氏名,電話番号";
$data = explode(',', $csv);
var_dump($data);
array(3) {
[0]=>
string(2) "ID"
[1]=>
string(6) "氏名"
[2]=>
string(12) "電話番号"
}
explode
の第一引数に区切り文字を指定することで分割することができましたね。
ただCSVの読み込みでは文字列の中にカンマが入っていたらダブルコーテーションで囲われていたりするので実務ではfgetcsv()
という別の関数を使って実装することをオススメします。
文字列分割をするときはexplodeを使うことで分割することが学べました。同じ文字列の分割処理をするsplit
という関数も調べたら出てくるのですが、こちらはPHP5.3.0で非推奨となりPHP7.0で削除されたので現在は使うことができません。分割処理はexplodeを使うと覚えておきましょう。