(PHP 4, PHP 5)
split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
Diese Funktion wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und in PHP 7.0.0 REMOVED entfernt.
Alternativ können die folgenden Funktionen verwendet werden:
$pattern
, string $string
[, int $limit
= -1
] ) : array
Zerlegt string
anhand eines regulären Ausdrucks in
ein Array.
pattern
Regulärer Ausdruck mit Berücksichtigung der Groß- und Kleinschreibung
Wenn Sie eine Zerlegung an Zeichen vornehmen, die in regulären Ausdrücken als besondere Zeichen betrachtet werden, müssen Sie diese entsprechend kennzeichnen. Wenn Sie der Ansicht sind, split() (oder, bei diesem Thema, eine andere Regex-Funktion) verhalte sich seltsam, lesen Sie bitte die Datei regex.7, die sich im regex/ Unterverzeichnis ihrer PHP-Distribution befindet. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.
string
Die zu durchsuchende Zeichenkette
limit
Wenn limit
gesetzt wurde, enthält das
zurückgegebene Array höchstens limit
Elemente,
von denen das letzte den ganzen Rest von string
enthält.
Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette
von string
sind. Diese Teilzeichenketten entstehen
durch Zerlegung von string
an den durch den
regulären Ausdruck pattern
bestimmten Stellen unter
Berücksichtigung der Groß- und Kleinschreibung.
Wenn pattern
n mal
vorkommt, enhält das zurückgegebene Array
n+1 Elemente. Kommt
pattern
zum Beispiel überhaupt nicht vor, wird ein
Array mit nur einem Element zurückgegeben. Das gilt natürlich auch, wenn
string
leer ist. Bei Auftreten eines Fehlers gibt
split() FALSE
zurück.
Beispiel #1 split()-Beispiel
Um die ersten vier Felder einer Zeile von /etc/passwd abzuspalten:
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Beispiel #2 split()-Beispiel
Um ein Datum zu analysieren, das durch Schrägstriche, Punkte oder Bindestriche getrennt ist:
<?php
// Trennzeichen darf ein Schrägstrich, Punkt oder Bindestrich sein
$datum = "04/30/1973";
list ($monat, $tag, $jahr) = split('[/.-]', $datum);
echo "Monat: $monat; Tag: $tag; Jahr: $jahr<br />\n";
?>
split() ist ab PHP 5.3.0 veraltet. Verwenden Sie stattdessen preg_split(). Wenn Sie die Fähigkeiten regulärer Ausdrücke nicht benötigen, ist die Verwendung von explode() schneller, weil diese Funktion ohne die Engine für reguläre Ausdrücke auskommt.
Wenn Sie nach einer Möglichkeit suchen, das Verhalten von Perls @chars = split('', $str) nachzuahmen, schauen Sie sich bitte die Beispiele für preg_split() oder str_split() an.