(PHP 4, PHP 5, PHP 7, PHP 8)
explode — Teilt eine Zeichenkette anhand einer Zeichenkette
Gibt ein Array aus Zeichenketten zurück, die jeweils Teil von
string sind. Die Abtrennung erfolgt dabei an der mit
separator angegebenen Zeichenkette.
separatorDie Begrenzungszeichenkette.
stringDie Eingabezeichenkette.
limit
Ist der Parameter limit angegeben und positiv,
enthält das zurückgegebene Array maximal limit
Elemente, wobei das letzte Element den Rest von
string beinhaltet.
Ist der Parameter limit negativ, werden alle
Teilzeichenketten bis auf die letzten
-limit-Teile zurückgegeben.
Wenn der Parameter limit gleich 0 ist, wird er
wie 1 behandelt.
Hinweis:
Vor PHP 8.0 akzeptierte implode() die Parameter in beliebiger Reihenfolge. explode() hat dies nie unterstützt. Stellen Sie daher sicher, dass Sie den Parameter
separatorvor dem Parameterstringnotieren.
Gibt ein Array von Strings zurück, die
durch Aufsplitten des Parameters string an
Begrenzungen durch separator erzeugt werden.
Ist separator eine leere Zeichenkette (""), so löst
explode() einen ValueError aus. Enthält
separator einen Wert, der nicht in
string vorkommt und wird ein negativer Wert für
limit verwendet, wird ein leeres
Array zurückgegeben. Für alle anderen Werte von
limit wird ein Array zurückgegeben,
das string als einziges Element enthält. Wenn
separator am Anfang oder am Ende von
string steht, wird ein leeres Array
an den Anfang bzw. das Ende des zurückgegebenen Arrays
angehängt.
| Version | Beschreibung |
|---|---|
| 8.0.0 |
explode() löst nun einen
ValueError aus, wenn an den Parameter
separator eine leere Zeichenkette
("") übergeben wird.
Bisher gab explode() stattdessen false zurück.
|
Beispiel #1 explode()-Beispiele
<?php
// Beispiel 1
$pizza = "Teil1 Teil2 Teil3 Teil4 Teil5 Teil6";
$teile = explode(" ", $pizza);
echo $teile[0]; // Teil1
echo $teile[1]; // Teil2
// Beispiel 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
Beispiel #2 explode()-Rückgabebeispiele
<?php
/*
Eine Zeichenkette, die nicht das Trennzeichen enthält, wird einfach
ein ein-elementiges Array mit der ursprünglichen Zeichenkette liefern.
*/
$input1 = "hallo";
$input2 = "hallo,da";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(1)
(
[0] => string(5) "hallo"
)
array(2)
(
[0] => string(5) "hallo"
[1] => string(5) "da"
)
array(2)
(
[0] => string(0) ""
[1] => string(0) ""
)
Beispiel #3 limit-Parameterbeispiele
<?php
$str = 'eins|zwei|drei|vier';
// positiver Wert in "limit"
print_r(explode('|', $str, 2));
// negative Wert in "limit"
print_r(explode('|', $str, -1));
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array
(
[0] => eins
[1] => zwei|drei|vier
)
Array
(
[0] => eins
[1] => zwei
[2] => drei
)
Hinweis: Diese Funktion ist binärsicher.