explode()関数は、引数の文字列を指定する文字列または文字で分割することができます。このとき、分割をした値は配列となります。
explode(string_separator,string)
<?php
$str = explode( "|", "abc|defg" );
var_dump($str);
?>
array(2) { [0]=> string(3) "abc" [1]=> string(4) "defg" }
var_dumpにより、$strがどのようになっているかを確認してみます。
「array(2)」は「"|"」の文字により、「"abc"」と「"defg"」の二つに区切られたので要素の数で「2」となります。以上から、指定された文字により文字列が分割されたことがわかります。
substr()関数は、文字列から指定したバイト分の文字列を取得します。
substr(string,start,[length])
<?php
$str = substr("PHP Product",4);
echo "$str";
?>
Product
substr("PHP Product",4);の「4」は先頭から4文字目以降の文字を取得することを表しています。
<?php
$str = substr( "PHP Product", 4, 4 );
echo "$str";
?>
Prod
substr("PHP Product",4,4);の「4,4」は先頭から4文字目以降4文字を取得することを意味しています。
ここではすなわち、PHP ProductのProdを取得しています。
<?php
$str = substr( "PHP Product", -4, 4 );
echo "$str";
?>
duct
substr("PHP Product",-4,4);の「-4,4」は末尾(「-4」が末尾から4文字目を意味)から4文字目以降4文字を取得することを意味しています。
ここではすなわち、PHP Productのductを取得しています。
addslashes()関数は、エスケープ文字を処理します。「'(シングルクォーテーション)」、「"(ダブルクォーテーション)」、「\(バックスラッシュ)」、NULLの文字の前に\(バックスラッシュ)を挿入した文字列を返します。
addslashes(string)
<?php
$str = "abc 'de";
echo addslashes($str);
?>
abc ¥'de
「'」の前に¥が挿入されていることがわかります。この¥によって「'」のPHPにとっての意味が処理され、通常の文字列としての「'」が適用されます。
printf()関数とsprintf()関数は、引数の文字列の書式を変換することができます。ですが、printf()関数とsprintf()関数はそれぞれ役割が違い、printf()関数はブラウザに出力するのに対し、sprintf()関数はブラウザには出力せず、変数へ返します。
printf(format,[args]);
sprintf(format,[args]);
<?php
$y = 2004;
$m = 8;
$d = 1;
printf( "%04d-%02d-%02d", $y, $m, $d );
?>
2004-08-01
printf("%04d-%02d-%02d",$y,$m,$d);の%dは文字を出力することを表します。04は桁数を意味し、ここでは4桁の2004を出力します。次はsprintf()で実行してみます。
<?php
$y = 2004;
$m = 8;
$d = 1;
$sp = sprintf("%04d-%02d-%02d",$y,$m,$d);
echo ("$sp");
?>
2004-08-01
sprintf()は変数に値を返すので、「$sp = sprintf("%04d-%02d-%02d",$y,$m,$d);」のように一度、変数に代入してからでないとブラザウに出力することができません。
trim()関数は、指定した文字列の先頭、および末尾から空白を取り除きます。
string trim( string str [, string charlist ] )
string trim( 文字列 [, 削除したい文字リスト ] )
<?php
$str1 = "(" . trim( " abc " ) . ")";
$str2 = "(" . rtrim( " abc " ) . ")";
$str3 = "(" . ltrim( " abc " ) . ")";
$str4 = "(" . trim( "-abc-", "-" ) . ")";
echo "$str1<br />n";
echo "$str2<br />n";
echo "$str3<br />n";
echo "$str4<br />n";
?>
(abc) ( abc) (abc ) (abc)
$str1は、trim()関数を使用して先頭・末尾の空白を、$str2は、rtrim()関数を使用して末尾の空白を、$str3は、ltrim()関数を使用して先頭の空白をそれぞれ取り除いています。また、$str4はtrim()関数の第二引数を指定して、文字列から「-」を取り除いています。