PHP マニュアル
前のページ |  | 次のページ

# split

(PHP 3, PHP 4 , PHP 5)

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

## 説明

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

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

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

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

例 1. split()の例
`list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5);`

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

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

例 2. split()の例
`$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()も 参照下さい。

前のページ | ホーム | 次のページ
eregi | 上に戻る | spliti