(PHP 4, PHP 5)
split — Split string into array by regular expression
$pattern
, string $string
[, int $limit
= -1
] )
Splits a string
into array by regular expression.
Ta funkcja jest PRZESTARZAŁA od PHP 5.3.0. Używanie tej funkcji nie jest zalecane.
pattern
Case sensitive regular expression.
If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think split() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.
string
The input string.
limit
If limit
is set, the returned array will
contain a maximum of limit
elements with the
last element containing the whole rest of
string
.
Returns an array of strings, each of which is a substring of
string
formed by splitting it on boundaries formed
by the case-sensitive regular expression pattern
.
If there are n occurrences of
pattern
, the returned array will contain
n+1 items. For example, if
there is no occurrence of pattern
, an array with
only one element will be returned. Of course, this is also true if
string
is empty. If an error occurs,
split() returns FALSE
.
Przykład #1 split() example
To split off the first four fields from a line from /etc/passwd:
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Przykład #2 split() example
To parse a date which may be delimited with slashes, dots, or hyphens:
<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>
Informacja:
Od PHP 5.3.0 rozszerzenie regex jest przestarzałe. Zamiast niego należy używać rozszerzenia PCRE. Wywołanie tych funkcji spowoduje wygenerowanie ostrzeżenia
E_DEPRECATED
. Zobacz listę różnic aby uzyskać pomoc w migracji do PCRE.
preg_split(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to split(). If you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.
For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split() or str_split().