とりあえずの備忘録

主にパソコンやインターネットに関するメモ

PHP 文字列を分割する

explode関数を使って文字列を分割する

<?php
$moji = 'jugem_template_blog';

$array = explode('_', $moji);

foreach($array as $key => $value) {
 echo 'array[' . $key . ']=' . $value . '<br />';
}
?>

「出力結果」

array[0]=jugem
array[1]=template
array[2]=blog

explode([分解文字], [文字列], [要素数(省略可)])と指定する。分解文字に正規表現は指定できないが高速。

split関数を使って文字列を分割する

<?php
$date1 = '2009-05-14 10:25:46';
$date2 = '2009/05/14 10h25m46s';

$array1 = split('[-/ :hms]', $date1);
$array2 = split('[-/ :hms]', $date2);

foreach($array1 as $key => $value) {
  echo 'array1[' . $key . ']=' . $value . '<br />';
}
echo '<br />';
foreach($array2 as $key => $value) {
  echo 'array2[' . $key . ']=' . $value . '<br />';
}
?>

「出力結果」

array1[0]=2009
array1[1]=05
array1[2]=14
array1[3]=10
array1[4]=25
array1[5]=46

array2[0]=2009
array2[1]=05
array2[2]=14
array2[3]=10
array2[4]=25
array2[5]=46
array2[6]=

split([分解文字], [文字列], [要素数(省略可)])と指定する。分解文字には正規表現を指定する。代わりにspliti関数を使うと大文字と小文字の区別をしない。

文字列を一文字ずつ分割する(PHP5限定)

<?php
$moji = 'jugem';

$array = str_split($moji);

foreach($array as $key => $value) {
  echo 'array[' . $key . ']=' . $value . '<br />';
}
?>

「出力結果」

array[0]=j
array[1]=u
array[2]=g
array[3]=e
array[4]=m

$array = explode('', $moji)のように出来ないので、str_split関数(PHP5限定)を使う。