【文字列】文字列を分割し配列に格納する関数

シチュエーション
「2018/01/31」という文字列から「2018」を取得するケース
「 AAA , BBB , CCC」から「AAA」を取得するケース
など、意外と使うケースがある。

2つある
explode関数
preg_split関数

explode関数の使い方

特徴:区切り方は1通りだけど、シンプル
※数字は区切れない。

<?php
$arraytext = explode("/","2018/11/17");
print_r($arraytext);

//結果
Array ( [0] => 2018 [1] => 11 [2] => 17 )
?>

preg_split関数の使い方

特徴:[http://okumocchi.jp/php/re.php:title=正規表現]でないと区切れないが複数通りで区切れる
※数字は区切れない。

<?php

//区切り方1通り
$arraytext = preg_split("/[,]/","AAA,BBB,CCC");
print_r($arraytext);

//結果
Array ( [0] => AAA [1] => BBB [2] => CCC )


//区切り方2通り
$arraytext = preg_split("/[\s,]/","AAA,BBB,CCC DDD");
print_r($arraytext);

//結果
Array ( [0] => AAA [1] => BBB [2] => CCC [2] => DDD )
?>

以下の2ように複数設定できる。
\s:半角スペース
, :コンマ

最大要素素について

一番最後の引数に数字を入れると、区切った要素をその数値分等分はせず、
一番最後の要素だけその数値分くっつきまとまりで要素に格納される。

<?php
$arraytext = preg_split("/[,]/","AAA,BBB,CCC,DDD,EEE,FFF",3);
print_r($arraytext);

//結果
Array ( [0] => AAA [1] => BBB [2] => CCC,DDD,EEE,FFF )
?>


===========

参照記事(ありがとうございました!!)
www.sejuku.net


===========