column

ITコラム

mv15672

プログラミングノウハウ

2019.04.12

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

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

なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。

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

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>

PHP explode プログラマカレッジ

第 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>

PHP explode プログラマカレッジ

第 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>

PHP explode プログラマカレッジ

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

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

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

▲目次へ戻る

無料説明会

SHARE

最新記事

無料説明会に参加してみる

INTERNOUS,inc. All rights reserved.

無料オンライン説明会へ