(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.
separator
Die Begrenzungszeichenkette.
string
Die 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
separator
vor dem Parameterstring
notieren.
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
$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.