ITコラム

PHP explode

PHP

2019.04.12

PHP【文字列】explode で文字列を分割

PHP では、関数 explode や str_split、preg_split を使用して文字列を分割することができます。
今回は PHP で文字列を分割する方法を紹介します。
 
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

最終更新日:2019年4月12日

目次

1.explode で文字列を分割
2.str_split で文字列を分割
3.preg_split で文字列を分割
 

1.explode で文字列を分割

explode 関数は、文字列を区切り文字列で分割する関数です。

実行すると、分割された各文字列を格納した配列が返ります。

explode 関数は 次のように記述して使用します。

explode ( 区切り文字列, 分割対象文字列 [, 分割個数の最大値 ] ) ;

第 1 引数には、分割する文字列( 区切りとなる文字列 )を指定します。

第 2 引数には、分割対象となる文字列( 元の文字列 )を指定します。

第 3 引数には、分割個数の最大値を指定することができます( 0 又は -1 を指定すると制限無しとなります )。

explode のサンプル

explode 関数を使用して 文字列を分割してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $str = "Sun/Mon/Tue/Wed/Thu/Fri/Sat";

  print_r(explode("/", $str));

  print_r(explode("/", $str, 3));

?>
</pre>

第 2 引数で指定した文字列が 第 1 引数で指定した「 / 」で分割され、分割された各文字列が格納された配列が生成されました。

第 3 引数に「 3 」を指定したサンプルでは、分割後の各文字列の最大個数が 3 となるため、3 番目以降の配列要素に格納される文字列は分割されないまま 1 つの値として格納されます。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

 

2.str_split で文字列を分割

str_split 関数は、文字列を 1 文字毎 又は 指定した文字数毎に分割する関数です。

実行すると、分割された各文字列を格納した配列が返ります。

str_split 関数は 次のように記述して使用します。

str_split ( 分割対象文字列 [, 文字数 ] ) ;

第 1 引数には、分割対象となる文字列を指定します。

第 2 引数には、分割する文字数を指定することができます。

str_split のサンプル

str_split 関数を使用して 文字列を分割してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $str = "CDEFG";

  print_r(str_split($str));

  print_r(str_split($str, 2));

?>
</pre>

第 2 引数に何も指定しない場合は 1 文字ずつ分割され、第 2 引数に文字数を指定した場合は その文字数毎に分割されて、分割後の各文字列が配列に格納されて返ります。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

 

3.preg_split で文字列を分割

preg_split 関数は、文字列を正規表現で分割する関数です。

実行すると、分割された各文字列を格納した配列が返ります。

preg_split 関数は 次のように記述して使用します。

preg_split ( 正規表現, 分割対象文字列 [, 分割個数の最大値 [, オプション ] ] ) ;

第 1 引数には、区切りとなる正規表現のパターンを指定します。

第 2 引数には、分割対象となる文字列( 元の文字列 )を指定します。

第 3 引数には、分割個数の最大値を指定することができます( 0 又は -1 を指定すると制限無しとなります )。

第 4 引数には、次のオプションを指定することができます。
・PREG_SPLIT_NO_EMPTY:空文字列を除外
・PREG_SPLIT_DELIM_CAPTURE:正規表現パターン内のサブパターンでも同時に分割
・PREG_SPLIT_OFFSET_CAPTURE:分割後の各文字列と共にオフセット値も返る( 文字列とオフセット値を 1 つの配列として、それが分割後の各文字列分格納された 2 次元配列が返る )

preg_split のサンプル

preg_split 関数を使用して 文字列を分割してみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $str = "This is a function.";

  print_r(preg_split("/ /", $str, 0, PREG_SPLIT_OFFSET_CAPTURE));

?>
</pre>

スペースを正規表現「 / / 」として指定してるので、スペース区切りで文字列が分割されました。

第 4 引数で「 PREG_SPLIT_OFFSET_CAPTURE 」を指定しているため、分割後の文字列とそのオフセット値( 先頭文字の位置 )がペアで格納される 2 次元配列が返ります。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

SHARE

最新記事

img001

卒業生インタビュー

2019.08.28

【卒業生の声:田中さん】美容師からプログラマーへ転身!PCスキルゼロからチーム開発でリーダーを務めるまでに成長したその秘密に迫る

受講スクール プログラマカレッジ 受講期間 3ヶ月間 料金 無料 就職先 株式会社アニシス プログラマカレッジ卒業生の田中さんにお話しをお伺いしました! 目次 IT業界へ憧れ、PCスキルゼロからプログラマーを目指すー 独 […]

続きを見る

IMG_004

卒業生インタビュー

2019.08.20

【卒業生の声:渡邉さん】宮城の大学とプログラマカレッジへ通学を両立!限られた時間を有効活用し、希望するWEB系の会社へ内定。

受講スクール プログラマカレッジ 受講期間 3ヶ月間 料金 無料 就職先 某WEB系会社 プログラマカレッジ卒業生の渡邉さんにお話しをお伺いしました! 目次 新卒採用の切符を捨て、アイデアを形にできる仕事を目指す 質問が […]

続きを見る

無料相談する

INTERNOUS,inc. All rights reserved.