PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのexplode()関数とは?文字列を配列に分割する使い方を徹底解説

この記事では、PHPに標準で組み込まれている定義済み関数の一つであるexplode()関数の基本的な使い方について、初心者にもわかりやすく解説します。

explode関数は、「文字列を特定の区切りを基準に分割し、配列を生成する」ための関数です。PHPのexplode関数を使うことで、ひとつの文字列をより小さな単位に分割できます。このとき分割の基準となる文字や記号のことを区切り文字(デリミタ)と呼びます。

構文

explode関数の基本構文は以下のとおりです。

explode(区切り文字, 対象文字列, 要素数)

パラメータ

explode関数は3つの引数を受け取り、そのうち2つが必須、1つが省略可能です。それぞれの役割を詳しく見ていきましょう。

1. 区切り文字(separator)

文字列を分割する境界点となる文字を指定します。この文字が対象の文字列内に現れるたびに、そこが配列の1つの要素の終わりであり、次の要素の始まりとなります。

2. 対象文字列(string)

配列に分割したい入力文字列を指定します。必須の引数です。

3. 要素数(limit)

省略可能な引数で、返される配列の要素数を制御します。正・負・ゼロのいずれの整数も指定できます。

  • 正の値を指定した場合:最大でその数の要素を持つ配列が返され、最後の要素には残りの文字列すべてが含まれます。
  • 負の値を指定した場合:末尾からその数分の要素を除いた配列が返されます。
  • 0を指定した場合:1と同じ扱いになり、文字列全体が1つの要素になります。
注意:この引数を省略した場合は、区切り文字で文字列を分割した結果として得られるすべての要素を含む配列が返されます。

サンプルコード

<?php
    $Original = "Hello,Welcome To Tutorials Point";
    print_r(explode(" ", $Original));
    print_r(explode(" ", $Original, 3));
?>

実行結果

Array ( [0] => Hello,Welcome [1] => To [2] => Tutorials [3] => Point )
Array ( [0] => Hello,Welcome [1] => To [2] => Tutorials Point )

コードの解説

上記の例では、最初のexplode関数の呼び出しでは第3引数を指定していないため、半角スペースを区切り文字として文字列全体が分割され、4つの要素からなる配列が生成されています。

一方、2番目の呼び出しでは第3引数に「3」を指定しているため、先頭から2つずつ分割された後、残りの文字列すべてが最後の要素としてまとめられ、合計3つの要素を持つ配列が返されています。

このようにexplode関数を使いこなせば、CSV形式のデータの解析やURLパラメータの処理など、文字列操作が必要なさまざまな場面で活用できます。

  1. PHPのexplode()関数とは?文字列を分割する使い方とパラメータの詳細解説

    PHPのexplode()関数は、指定した区切り文字列(デリミタ)をもとに、文字列を分割して配列として返すための関数です。CSV形式のデータ処理や、スペース区切りのテキストを分解したい場合など、さまざまな場面で活用できます。構文explode(delimiter, str, limit)パラメータdelimiter − 文字列を分割するための境界文字列(区切り文字)を指定します。str − 分割対象となる入力文字列です。limit − 返される配列の要素数を指定します(省略可能)。limitには以下の値を指定できます。0より大きい値 − 最大でlimit個の要素を持つ配列を返します。最後の要素

  2. PHPのarray()関数とは?配列の作成方法をわかりやすく解説

    PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に