分かりやすく、使いやすく。

文字列を区切り文字で分割して配列にする

スポンサーリンク

PHP で文字列を特定の文字で分割して配列にするには explode を使用します。

php(書式)
1
$ary = explode(区切り文字, 分割する文字列) 
  1. 単一の区切り文字で分割する
  2. 文字列で分割する


単一の区切り文字で分割する

以下のサンプルコードでは、文字列をハイフン(-)で分割しています。分割対象の文字列の中に区切り文字がない場合、配列の先頭にすべての文字がそのまま格納されます。

php(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 文字列を - で分割して配列にする
$ary_str = explode('-', '012-345-6789');
 
// 結果を確認
for($i = 0; $i < count($ary_str); $i ++){
    echo '1個目のループ:インデックス=' . $i . '、値=' . $ary_str[$i] . PHP_EOL;
}
 
// 文字列を - で分割して配列にする
$ary_str = explode('-', '0123456789');
 
// 結果を確認
for($i = 0; $i < count($ary_str); $i ++){
    echo '2個目のループ:インデックス=' . $i . '、値=' . $ary_str[$i] . PHP_EOL;
} 

実行結果は以下の通りです。

1個目のループ:インデックス=0、値=012
1個目のループ:インデックス=1、値=345
1個目のループ:インデックス=2、値=6789
2個目のループ:インデックス=0、値=0123456789 

文字列で分割する

区切り文字は、単独の文字だけでなく文字列で指定することも可能です。以下のサンプルコードでは
で文字列を区切っています。

php(実行可能なサンプルコード)
1
2
3
4
5
// 文字列を <br/> で分割して配列にする
$ary_str = explode('<br/>', '1行目の文章<br/>2行目の文章<br/>3行目の文章');
 
// 結果を確認
var_dump($ary_str); 

実行結果は以下の通りです。

array(3) {
  [0]=>
  string(11) "1行目の文章"
  [1]=>
  string(11) "2行目の文章"
  [2]=>
  string(11) "3行目の文章"
} 
スポンサーリンク