関数辞典
🔧 explode()
explode() — 文字列を区切り文字で配列に分割
シグネチャ
explode(string $separator, string $string, int $limit = PHP_INT_MAX): array
- 引数 1
string $separator- 引数 2
string $string- 引数 3
int $limit = PHP_INT_MAX- 戻り値
array
解説
指定の区切り文字で文字列を分割し配列として返します。 CSV データの簡易パース、 URL パス分割、 タグの「,」 区切り展開 など、 日常的に頻出する関数です。 limit 引数を使うと「最初の N 個だけ取る」 等の制御もできます。
使用例
<?php
$csv = 'apple,banana,cherry';
$fruits = explode(',', $csv);
print_r($fruits); // ['apple', 'banana', 'cherry']
// limit 付き
$path = '/a/b/c/d';
print_r(explode('/', $path, 3));
// ['', 'a', 'b/c/d']
よくある用途
1. CSV / TSV の簡易パース (= 厳密にやるなら str_getcsv の方が安全)。 2. URL パスや query string の分割 (= ただし parse_url の方が頑健)。 3. タグ入力欄 (`PHP, Web, データベース`) を配列化。 4. 区切り文字付きの設定 (= 例えば `host:port` を `:` で分割)。
落とし穴 / 注意点
❌ 「複数の区切り文字を許可」 はできません (= `, ` と `,` を両方扱いたいなら preg_split で `/,\s*/`)。 ❌ 空文字列を分割すると `['']` の 1 要素配列が返ります。 結果配列の要素数が常に 1 以上であることを意識します。 ❌ 区切り文字が空文字列だと PHP 8.0+ では ValueError が投げられます (= 7.x までは false 戻り)。 ❌ CSV にダブルクォートで囲んだフィールドがある場合は explode では扱えません (= str_getcsv へ移行)。
代替手段・関連関数
・preg_split($pattern, $str) — 正規表現で柔軟に分割。 ・str_getcsv($line) — CSV (= 引用符・エスケープ対応)。 ・mb_split() — マルチバイト対応の正規表現分割。