Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

split

(PHP 3, PHP 4 )

split -- 正規表現により文字列を分割し、配列に格納する

説明

array split ( string pattern, string string, int [limit])

注意 Perl互換の正規表現構文を使用するpreg_split() は、往々にしてsplit()よりも速い代替案となりま す。

文字列の配列を返します。配列の各要素は正規表現 patternにより区切られた string中の部分文字列です。 limitが指定された場合、返される配列には 最大limitの要素が含まれます。この場合、 最後の要素にはstringの残りの部分が全て 入っています。エラーを生じた場合、split()FALSEを返します。

/etc/passwdの行から最初の4つのフィールド を取り出すには、以下のようにします。

例 1split()の例

list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5);

ティップ patternn回現 れる場合、返される配列には、 n+1個のアイテムが 含まれます。例えば、patternが現れない場合、 1個の要素のみを有する配列が返されます。もちろん、これは stringが空の場合も同様です。

スラッシュ、ドット、ハイフンをデリミタとすると日付を処理する例を 以下に示します。

例 2split()の例

$date = "04/30/1973";  // デリミタはスラッシュ、ドット、ハイフンのどれかです。
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br>\n";

pattern は大文字小文字を区別することに 注意してください。

正規表現の機能を必要としない場合、正規表現エンジンのオーバーヘッ ドがないexplode()の方がより高速であるというこ とに注意して下さい。

Perlの$chars = split('', $str)の動作を模擬する 手段を探しているユーザーについては、 preg_split()の例を参照下さい。

pattern は正規表現であることに注意して下さ い。正規表現で特殊文字とみなされる文字を分割したい場合、それらを まずエスケープする必要があります。split() (ま たは他の正規表現関数に関して)の動作が何か変であると感じたならば、 PHP配布ファイルの regex/サブディレクトリにあるファイル regex.7を読んで下さい。このファイルは manpageフォーマットとなっており、読むには man /usr/local/src/regex/regex.7のようにします。

preg_split(), spliti(), explode(), implode(), chunk_split(), wordwrap()も 参照下さい。