文字列を分割して配列する定番の関数がexplode関数です。次の例では、「2014/09/17」のような日付を「/」で分割して配列に格納しています。
<?php $date = date("Y/m/d"); $ar = explode("/", $date); print_r($ar); ?>
○実行結果
Array ( [0] => 2014 [1] => 09 [2] => 17 )
詳しくは、以下のページをご覧ください。
特定の位置の要素を表示する
文字列を配列に分割して、特定の要素を表示したい場合は、PHP5.4以降であれば関数の戻り値を直接配列として扱うことができます。次の例では配列の先頭要素の「年」を表示しています。
<?php $date = date("Y/m/d"); echo explode("/", $date)[0]; ?>
○実行結果
2014
つまり、「配列を返す関数[0]」と記述すれば戻り値の先頭要素を直接表示することができます。
指定数の要素を除外して配列を作成する
特定の個数の要素のみを配列に格納すれば良いのであれば、explode関数の3番目のパラメータに負の数で「除外する要素数」を指定します。次の例では、「年月日」から最後の2つの要素「月日」が除外されて「年」のみが配列に格納されます。
<?php $date = date("Y/m/d"); $ar = explode("/", $date, -2); print_r($ar); ?>
○実行結果
Array ( [0] => 2014 )
ちなみに、3番目のパラメータに正の数を指定すると「作成される配列の要素数
」になります。最後の要素には、分割しきれなかった文字列がまとめて格納されます。次の例では「2」を指定しているので、先頭には「年」、2番目の要素には「月/日」が格納されます。
<?php $date = date("Y/m/d"); $ar = explode("/", $date, 2); print_r($ar); ?>
○実行結果
Array ( [0] => 2014 [1] => 09/17 )