PHP プログラミング

【PHP入門】文字列を分割(explode)する方法

explodeの記述方法

みるはぴ

explodeの使い方を説明していきます。
特定の文字列を目印(区切り文字列)に文字列を分割が出来ます。
例えば「2020/08/17」という文字列に対して「/」という文字で区切って分割することができます。
分割された文字列は配列となって出力されます。
区切り文字列の事は「delimiter(デリミタ)」と表現することも多いです。
(デリミタの方が響きがカッコいいですね!)


$str = '2020/08/17';
// デリミタに「/」を指定して分割を行う。
$result = explode('/', $str);
 
// 出力結果
echo $result[0]; // 2020
echo $result[1]; // 08
echo $result[2]; // 17

第三引数(limit)を指定するパターン

limitに正の値を指定する

みるはぴ

デリミタは沢山あるけど、特定のデータさえ分割できれば
それ以降は分割しなくても良いという時に指定するものです。


// 一つ目のデリミタまで分割したい場合、第三引数に2を指定
$str = 'データ1-データ2-データ3-データ4';
$result = explode('-', $str, 2);

// 出力結果
echo $result[0]; // データ1
echo $result[1]; // データ2-データ3-データ4
 
// 二つ目のデリミタまで分割したい場合、第三引数に3を指定
$str = 'データ1-データ2-データ3-データ4';
$result = explode('-', $str, 3);

// 出力結果
echo $result[0]; // データ1
echo $result[1]; // データ2
echo $result[2]; // データ3-不要データ4

limitに負の値を指定する

みるはぴ

limitに「負の値」を指定することも出来ます。
その場合、分割した数からlimit分の数を引いた結果が出力されます。


$str = 'データ1-データ2-データ3-データ4-データ5';

// 分割した数から二つ除きたい場合、第三引数に-2を指定
$result = explode('-', $str, -2);

foreach ($result as $key => $val) {
  echo $key . ':' . $val . '<br>';
}

// 出力結果
0:データ1
1:データ2
2:データ3

ポイント

負の値を指定することで、分割した数から特定の数を除外することができます。
正の値を指定した場合と挙動が異なるので注意しましょう。
(うーん・・・負の値を指定するシーンがなかなか思い浮かばない・・・)

みるはぴ

ちなみに「explode」を日本語に訳すと
「爆発」「破裂」などという物騒な物になりました。
分割は「Split」となるそうです。

  • この記事を書いた人
  • 最新記事

-PHP, プログラミング

© 2022 みるはぴ.com