
スキルアップ
2021.01.25
無料で学べるプログラミングの学習サイト!おすすめ22選【2020年1月版】
独学でプログラミングの勉強を始める社会人たちが続々と増えていますが、最もオススメな学習法は「まずは無料の学習サイトでプログラミングに触れてみること」。そこで本記事では、初心者におすすめのプログラミング学習サイトを国内外あ […]
PHP
2019.04.12
PHP では、関数 explode や str_split、preg_split を使用して文字列を分割することができます。
今回は PHP で文字列を分割する方法を紹介します。
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方
最終更新日:2019年4月12日
1.explode で文字列を分割
2.str_split で文字列を分割
3.preg_split で文字列を分割
explode 関数は、文字列を区切り文字列で分割する関数です。
実行すると、分割された各文字列を格納した配列が返ります。
explode 関数は 次のように記述して使用します。
explode ( 区切り文字列, 分割対象文字列 [, 分割個数の最大値 ] ) ;
第 1 引数には、分割する文字列( 区切りとなる文字列 )を指定します。
第 2 引数には、分割対象となる文字列( 元の文字列 )を指定します。
第 3 引数には、分割個数の最大値を指定することができます( 0 又は -1 を指定すると制限無しとなります )。
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 で出力をご参照下さい。
str_split 関数は、文字列を 1 文字毎 又は 指定した文字数毎に分割する関数です。
実行すると、分割された各文字列を格納した配列が返ります。
str_split 関数は 次のように記述して使用します。
str_split ( 分割対象文字列 [, 文字数 ] ) ;
第 1 引数には、分割対象となる文字列を指定します。
第 2 引数には、分割する文字数を指定することができます。
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 で出力をご参照下さい。
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 関数を使用して 文字列を分割してみます。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<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 で出力をご参照下さい。
スキルアップ
2021.01.25
独学でプログラミングの勉強を始める社会人たちが続々と増えていますが、最もオススメな学習法は「まずは無料の学習サイトでプログラミングに触れてみること」。そこで本記事では、初心者におすすめのプログラミング学習サイトを国内外あ […]
スキルアップ
2021.01.25
この記事ではシステムエンジニア(SE)とプログラマ(PG)の違いをわかりやすく解説します。システム開発の流れを説明しながら具体的に携わる仕事内容や必要スキル、年収まで違いを比較していきますので、ぜひ参考にしてください。 […]
スキルアップ
2021.01.22
通勤せず、家で仕事ができたら理想的だと思いせんか?コロナ禍の今、在宅ワークに注目が集まっています。パソコンとインターネット回線があればどこでもできる仕事が増え、完全在宅を前提とした求人も多く目にするようになりました。ここ […]
スキルアップ
2021.01.22
大学生のうちにプログラミングスキルを身につけておくべきか悩んでいる方、エンジニアとして働くことに興味がある方はぜひご覧ください! 大学生でプログラミングを習得するメリット、おすすめのプログラミング言語&学習法、失敗しない […]
スキルアップ
2021.01.22
本記事では、給料やお金をもらいながらでもプログラミングを学べる方法や、未経験からでもエンジニアへの転職が可能な理由について紹介します。プログラミングスキルが未経験者の就職や転職において有利となる理由も解説。これからプログ […]
スキルアップ
2021.01.21
「高卒者のお給料って高いの?低いの?」「大学を中退しても高収入は得られる?」最近は高卒採用に力を入れる企業が続々と増えていますが、こんなふうに考えて最初の一歩が踏み出せない学生さんも多いはず。そこで今回は、学歴・世代・男 […]
INTERNOUS,inc. All rights reserved.