.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 5
.
<< Prev
文字列関数(検索と置換)
« INDEX »
PHP 文法編
Next >>
文字列関数(書式付き出力)
作成日:2006/05/10

1C.5.3 文字列関数(分解と合成)

分解
構文説明
array split
( string pattern,
  string string,
[,int limit] )
array spliti
( string pattern,
  string string,
[,int limit] )

文字列stringをセパレータpattern(正規表現 )により分割した部分文字列から成る配列を返します。 セパレータが1つもマッチしなかった場合は、stringを返します。これはstringが空の場合でも同じです。 エラーの場合、セパレータが空の場合は、split()はFALSEを返します。

limitが指定された場合、返される配列には 最大limitの要素が含まれます。 この場合、 最後の要素にはstringの残りの部分文字列が入っています。

spliti()は大文字小文字を区別しない事以外はsplit()と同じです。 Perl互換の正規表現を使用する場合はpreg_split()を使用します。 セパレータが正規表現を必要としない場合、explode()を使う事もできます。

用例:
list ($year,$month,$day) = split('[\/.-]',date("Y-m-d"));
array explode
( string separator,
  string string
[,int limit] )

文字列stringをセパレータseparatorにより分割した部分文字列から成る配列を返します。 セパレータが1つもマッチしなかった場合は、stringを返します。 これはstringが空の場合でも同じです。 エラーの場合、セパレータが空の場合は、explode()はFALSEを返します。

limitが指定された場合、返される配列には 最大limitの要素が含まれます。 この場合、最後の要素にはstringの残りの部分文字列が入っています。

用例:
list ($year,$month,$day) = explode('-',date("Y-m-d"));
string strtok
( string string,
  string delimiters )

文字列stringから 区切り文字(デリミタ)によって区切られたな文字列(トークン)を切り出し、そのトークンを返します。 delimitersには区切り文字を複数個指定することができます。切り出すトークンが無くなった場合、falseを返します。

strtok() は最初の呼出しで引数stringを取り込み、 2回目以降の呼出しでは内部的に保持しているのトークン切り出し後の文字列を使用します。 従って、最初の呼出しでは、文字列stringを指定しますが、2回目以降の呼出しでは指定しません。

デリミタ が先頭や最後にある場合、または連続する場合でも、strtok()は空文字を返しません。

strtok() を foreach などの制御構造で使用する場合、 この関数は "0" を返す可能性があるので返り値の評価は ===演算子 を使用します。

用例:
$delimiter = " \n\t";
$token = strtok($text, $delimiter);
while ($token !== false) {
  echo "$token\n";
  $token = strtok($delimiter);
}

通常、文字列の分解は split() や explode() で十分ですが、 最初に切り出した文字列だが欲しい場合は、手軽な strtok() を好む人もいます。

用例:
$host = "www.y2sunlight.com";
$root_node = strtok($host,".");


合成
構文説明
string join
( string glue,
  array pieces )
string implode
( string glue,
  array pieces )

配列piecesの各要素にglueをはさんで1つの文字列します。

join()はimplode()のエイリアスです。

用例:
$date = join('-',array($month,$day,$year));
<< Prev
文字列関数(検索と置換)
« INDEX »>
Page Top
Next >>
文字列関数(書式付き出力)

.