・配列要素を文字列で連結する方法について知りたい。
・implode関数とexplode関数との違いは?
PHPでimplode関数を使うと、配列要素を文字列で連結することができますが、正しい使い方を知らない人も多いでしょう。
そこでこの記事では、PHPのimplode関数の使い方や、配列要素を文字列で連結する方法について詳しく解説します!
この記事を読めば、PHPのimplode関数の使い方がわかり、配列要素を文字列によって連結することができるでしょう。
PHPでimplode関数を使いたいけど、使い方がわからない、配列要素を文字列で連結させたいという人は、ぜひ最後までご覧ください。
implode関数とは?
implode関数とは、配列要素を文字列によって連結するための関数です。
1 |
implode(区切りたい文字列, 連結したい文字列の配列) |
implode関数には、第1引数と第2引数を指定することができます。
第1引数には区切りたい文字列を指定し、第2引数には連結したい文字列の配列を指定します。
例えば、第1引数に「,」コンマを指定すると、配列要素はコンマ区切りで連結されるということです。
ちなみに、第1引数は省略すると、空文字で配列要素が連結されるので、注意しましょう。
implode関数の使い方
では、ここから実際にimplode関数の使い方について解説していきます。
まだ、implode関数の使い方を知らない人は、ここでしっかりと理解していきましょう。
implode関数の基本的な使い方
implode関数の基本的な使い方です。
実際のコードの書き方は次の通り。
1 2 3 4 5 6 |
<?php $array = array('name', 'age', 'email'); $result = implode(',', $array); echo $result; ?> |
まず、「name, age, email」という要素を持った配列「$array」があります。
今回は、この配列要素をコンマ区切りで連結させたいので、implode関数に「’,’, $array」と指定します。(implode関数を変数$resultに代入します)
そして、そのimplode関数($result)をechoで出力すると、次のような結果になるでしょう。
配列要素が「,」コンマ区切りで表示されていますね。
この結果から、implode関数によって、配列要素がコンマ区切りで連結されたのがわかります。
このimplode関数の第1引数に、区切りたい文字列を指定すると、その文字列によって配列要素が連結されるので、いろいろな文字列を指定してみるといいでしょう。
(brタグを指定すると、文字列が改行して連結されます)
※配列の使い方について詳しく知らない人は、以下の記事がおすすめです。
連想配列でもimplode関数は使えるのか
implode関数は、配列要素を文字列によって連結できることがわかりました。
では、連想配列の場合は実装可能なのか、気になった人もいるでしょう。
結論から言うと、implode関数は連想配列でも配列要素を文字列によって連結することが可能です。
実際にコードに書いて確認してみましょう。
1 2 3 4 5 6 7 8 9 10 |
<?php $array = array( 'name' => '山田太郎', 'age' => 20, 'email' => 'example@mail.com' ); $result = implode(',', $array); echo $result; ?> |
上記のように、「name, age, email」というキーを持つ連想配列があったとします。
その連想配列に、先ほどと同じようにimplode関数で第1引数に「,」コンマを指定します。
そして、第2引数には連想配列$arrayを指定しましょう。(implode関数を変数$resultに代入します)
implode関数($result)をechoで表示すると、次のような結果になります。
連想配列の値が、コンマ区切りで連結されていますね。
このように、implode関数は連想配列でも配列要素を文字列によって連結することができます。
なので、使い方を覚えておくといいでしょう。
※連想配列についてまだ詳しく知らない人は、以下をご覧ください。
explode関数との違い
ここまでで、implode関数の使い方について学びました。
implode関数は、配列要素を文字列で連結させる関数ですが、その逆の働きをする関数でexplode関数というものがあります。
PHPを学び始めた初心者にとっては、このimplode関数とexplode関数の違いがわからないと感じる人もいるでしょう。
explode関数は、文字列を特定の文字列で配列に分割する関数です。
1 |
explode(区切り文字列, 分割したい文字列, 最大要素数) |
explode関数は、第1引数から第3引数まで指定することができます。
第1引数は、対象となる文字列の区切り文字列を指定します。(例えば、コンマやスラッシュ、ハイフンなど)
第2引数は、対象となる分割したい文字列を指定します。
そして、第3引数には、分割する最大要素数を指定します。(「2」と指定した場合、文字列が2分割されます)また、第3引数は省略可能です。
実際のコードで使い方を確認してみましょう。
1 2 3 4 5 6 |
<?php $array = 'name,age,email'; $result = explode(',', $array); var_dump($result); ?> |
implode関数の解説で使った時と同じ文字列「name,age,email」を用意します。(これらの文字列を変数$arrayに代入しておきます)
そして、explode関数を指定するのですが、第1引数には区切り文字列の「,」コンマを指定します。
第2引数には、文字列$arrayを指定しましょう。(explode関数を変数$resultに代入します)
このexplode関数($result)をvar_dumpで出力すると、文字列は配列に分割されるはずです。
結果を表示してみると、「name, age, email」がそれぞれ配列の要素として分割されていますね。
この結果から、explode関数によって、文字列を配列に分割したことがわかりました。
このように、explode関数はimplode関数とは逆の働きがあり、文字列を特定の文字列で配列に分割することができます。
implode関数と合わせて使い方を覚えておくといいでしょう。
まとめ
今回は、PHPのimplode関数を使う方法や配列要素を文字列によって連結する方法について解説しました。
implode関数は、配列要素を文字列によって連結することができる関数です。
implode関数の第1引数に区切りたい文字列を指定し、第2引数に連結したい文字列の配列を指定することで、配列要素を文字列で連結することができます。
連想配列の場合でも実装可能なので、使い方を覚えておきましょう。
また、implode関数と逆の働きをするexplode関数では、文字列を特定の文字列で配列に分割することができるので、合わせて覚えておくといいですね。
この記事がPHPの学習に役立つと幸いです。