Manga and Programer site

初心者向け!プログラミング講座 【PHP編】『 文字分割【explode】と 文字結合【implode】』

2018/11/11
 

漫画坊主です。

 

今回は 文字分割の【explode】と 文字結合の【implode】について勉強したいと思います。

 

プログラミング初心者の方は本編の 漫画で入門!初心者向けプログラミング講座 を先にご覧下さい!
漫画で入門!初心者向けプログラミング講座【PHP編】#1『PHPとは』

 

※本編に移る前に注意

 

私の使用しているパソコンの OS が Windows10 ですので、
スクリーンショットがWindows10 となっております。予めご了承くださいませ。

 

本編でテキストエディタのスクリーンショットを使用しておりますがこちらは
【Sublime Text 3】を使用しております。
テキストエディタはご自身が使いやすいもので問題ありません。
もしテキストエディタを インストールしていない方 がいましたら下記からインストールできます。

【Sublime Text 3】のインストールはこちら

 

それでは本編開始です!

 

 

◆文字分割【explode】

 

それでは、PHP組込関数 の【explode】について勉強していきましょう。

まずはこちらのソースをご覧ください。

 

【explode】は 第1引数で指定した区切り文字(【 , 】【 / 】【 】【\n】など)で
第2引数で指定した文字列を分割し、配列に格納する関数 です。

 

使い方は上記のソースの通りですが、簡単に書くとこんな感じです。

 

 explode ( ”区切り文字” ,  ”区切り文字で分割したい文字列” );

 

ではブラウザで確認をしてみましょう!

指定した区切り文字 で 文字列を分割 し、配列の要素に格納 されているのが分かります。
ですが【 】スペースに関しては上手く分割できていません。

 

実は、区切り文字をスペースで指定すると 半角と全角が区別 されます。
今回の場合ですと、区切り文字に全角スペース を指定しているので、
半角スペースでは分割 できていません。

 

ではどのようにして 半角スペース と 全角スペース を区別することなく、
文字列を分割をすればよいのでしょうか?




◆文字を置換して分割する

 

半角スペース と、全角スペース を区別せずに 区切り文字 にするには、
どちらかを置換すると上手くいきます。

 

まずはこちらのソースをご覧ください。

 

今回は【str_replace】という関数を使用して文字列を置換します。

 

使い方は 第1引数に置換後の文字列 を指定、第2引数に置換前の文字列 を指定、
第3引数に置換したい文字列 を指定します。

 

 str_replace ( ”置換後の文字列” ,  ”置換前の文字列” , ”置換したい文字列” );

 

今回の場合ですと、
str_replace ( ”半角スペース” ,  ”全角スペース” , ”置換したい文字列” ); となります。

 

空白の置換方法については何となく分かっていただけたかと思います。
続いて、改行の置換の仕方 についても勉強したいと思います。

 

改行にはブラウザ上で改行する【<br />】と
エスケープシーケンスの改行コード【 \n 】【 \r 】【 \r\n 】があります。

 

エスケープシーケンス について詳しく勉強したい方はこちらの記事をご覧ください。
初心者向け!プログラミング講座 【PHP編】『改行、空白、エスケープシーケンス』

 

これらを【 str_replace 】で置換するとなると大変なので、
今回は【 nl2br 】という関数を使用します。
この関数は エスケープシーケンスの改行コード【 \n 】【 \r 】【 \r\n 】を【<br />】に置換 します。

 

 nl2br( ”エスケープシーケンスの改行コード【 \n 】【 \r 】【 \r\n 】の入った文字列” );

 

では、置換した文字列を区切り文字に指定して分割をしてみましょう。

 

置換した文字列で分割ができていますね。

 

◆【explode】の第3引数

 

explodeには第3引数が存在します。 ※省略可能です。
指定するのは 返り値の最大要素数 を指定します。

 

 explode ( ”区切り文字” ,  ”区切り文字で分割したい文字列” , 最大要素数 );

 

では下記のソースをご覧ください。

 

第3引数が具体的に何をするかといいますと、
恐らく実際の挙動を見て頂いた方が早いかと思いますので、
早速ブラウザで確認してみましょう。

 

 

第3引数で指定した数だけ要素数が作られているのが分かります。
第3引数は省略できるので、要素数を指定する際に指定しましょう。

 

◆文字結合【 implode 】

 

続いてはPHP組込関数の【 implode 】関数を勉強したいと思います。
この関数は 配列の要素を指定した区切り文字で連結 します。

 

まずはこちらのソースをご覧ください。

【 implode 】は第1引数に区切り文字(【 , 】【 / 】【 】【\n】など)を指定し、
第2引数に配列を指定します。使い方は下記を参照。

 

 implode ( ”区切り文字” ,  ”配列” );

 

ではブラウザを確認してみましょう。

 

 

1つの文字列に結合されているのが分かります。
空の配列の場合は文字列が空になります。

この結果を見て頂ければわかりますが
【 explode 】関数の逆が【 implode】だと思うと分かりやすいです。

 

◆まとめ

 

・関数【 explode 】は、指定した区切り文字で分割する。
・複数ある区切り文字を置換して1つに指定する方法がある。
・関数【 explode 】の第3引数は要素数を指定できる。※省略可能
・関数【  implode 】は配列の要素を指定した区切り文字で連結する。

 

以上で 初心者向け!プログラミング講座 【PHP編】
『文字分割【explode】と 文字結合【implode】』を終了したいと思います。

 

他にもこんなプログラミング講座も作成しています。
初心者向け!プログラミング講座 【PHP編】『date関数、UNIXタイムスタンプ』

 

最後まで読んで頂きありがとうございました!

 

◆良かったら息抜きに私の描いた漫画も読んでみて下さい!
漫画坊主の漫画はこちらから

◆プログラミングの勉強を続ける場合はこちらから!
プログラミングの勉強はこちらから

 

フォローお願いします!!
twitter
4コマgram


この記事を書いている人 - WRITER -
漫画坊主
漫画 を描くのが好きな プログラマ です。 プログラミング初心者の方に漫画で勉強できる ブログ を作成しています。 勉強に疲れた時にはオリジナルの 4コマ漫画 や ストーリー漫画 も 更新してますので、楽しんでいただけると幸いです! twitter もやってますので、気軽にフォローしてください!
詳しいプロフィールはこちら

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© 漫画坊主のブログ , 2018 All Rights Reserved.