CSVファイルなど、ある特定の文字で区切られたテキストデータを活用する方法を見てみましょう。次の関数が用意されています。
explode関数は、文字列を指定した文字列により分割して、配列で返します。
関数名 | explode |
---|---|
パラメーターリスト | |
パラメター名 | 説明 |
string $delimiter | 区切り文字列 |
string $string | ターゲット文字列 |
返り値 | |
array | 分割した文字列の配列 |
○ ファイル
「DateTimeCalcTest.php」ファイルをコピーして、次のPHPファイルをプロジェクトに追加してください。
ファイルの種類 | PHPファイル |
---|---|
ファイル名 | ExplodeTest.php |
○ プログラム
次のようにプログラムを記述してください。
ExplodeTest.php
○ 実行結果
○ 解説
10行目で、カンマ区切りのフルーツのデータを指定しています。13行目で「explode」関数を使用しています。第1引数に文字列「,」を、第2引数にフルーツのデータを渡しています。結果として「,」で分割された文字列が配列として返ってくるので、変数retに格納しています。
14行目で変数targetを確認すると、配列として分割されていることを確認できます。
preg_split関数は分割する文字を、正規表現を使って検出し、文字列を分割します。
関数名 | preg_split |
---|---|
パラメーターリスト | |
パラメター名 | 説明 |
string $pattern | 検索するパターンを表す文字列(正規表現) |
string $subject | ターゲット文字列 |
返り値 | |
array | 分割した文字列の配列 |
○ ファイル
「ExplodeTest.php」ファイルをコピーして、次のPHPファイルをプロジェクトに追加してください。
ファイルの種類 | PHPファイル |
---|---|
ファイル名 | PregSplitTest.php |
○ プログラム
次のようにプログラムを記述してください。
PregSplitTest.php
○ 実行結果
○ 解説
10行目で、連続したフルーツのデータを準備しています。今回は「s○」(○は1桁の数字)が区切り文字として使用されています。
13行目で、「preg_split」関数を使用しています。第1引数に正規表現を指定します。今回は「/s[0-9]/」を引数として渡しています。これにより「s○」となっている部分で分割します。19行目で表示していますが、表示結果を確認すると、分割されていることを確認できます。