【PHP】指定文字で区切って配列に格納

公開日:
更新日:
カテゴリー: PHP

PHPで文字列を指定の文字で区切って配列に格納する方法を説明します。

explode関数を使う

explode関数は、文字列を指定した文字で区切り、配列に格納してくれる関数です。explode関数の詳細はこちらより確認してください。

explode("ここに区切る文字",ここに対象文字列);

また、第3引数も指定できます。

explode("ここに区切る文字",ここに対象文字列, リミット);

「リミット」に正の値(ここでは3)を指定した場合、配列の要素数は3つとなり、最後の要素に残りの文字列がすべて格納されます。

一方「リミット」に負の値(ここでは-2)を指定した場合、本来の配列の要素数が5つであった場合、最後から2つ分の要素数が削除されて3つだけ出力されます。

サンプルプログラム

いくつかサンプルプログラムを載せたいと思います。

指定文字で区切って配列に格納

explode関数を使って文字列を「|」で区切って配列に格納したいと思います。

<?php
//文字列
$str = "みかん|りんご|バナナ|メロン|スイカ|イチゴ";
//指定文字列「|」で区切って配列に格納
$array = explode("|", $str);
//配列を確認
print_r($array);
?>

これを実行すると、このようになります。

Array
(
    [0] => みかん
    [1] => りんご
    [2] => バナナ
    [3] => メロン
    [4] => スイカ
    [5] => イチゴ
)

リミットを指定

上のサンプルプログラムにあるexplode関数の第3引数の部分を

$array = explode("|", $str, 4);

のように変更すると、結果はこのようになります。

Array
(
    [0] => みかん
    [1] => りんご
    [2] => バナナ
    [3] => メロン|スイカ|イチゴ
)

また、このように負の値を指定すると

$array = explode("|", $str, -2);

このようになります(本来返される配列の要素数が後ろから-2される)。

Array
(
    [0] => みかん
    [1] => りんご
    [2] => バナナ
    [3] => メロン
)

Tips

explode関数の逆バージョン(?)みたいなもので、配列の要素を指定文字で区切って文字列にする関数もあります。

それは【PHP】配列の値(要素)を指定文字で区切って文字列にするを参照して下さい。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント