explode
(PHP 4, PHP 5, PHP 7, PHP 8)
explode — Teilt eine Zeichenkette anhand einer Zeichenkette
Beschreibung
$separator
, string $string
, int $limit
= PHP_INT_MAX
): array
Gibt ein Array aus Zeichenketten zurück, die jeweils Teil von
string
sind. Die Abtrennung erfolgt dabei an der mit
separator
angegebenen Zeichenkette.
Parameter-Liste
-
separator
-
Die Begrenzungszeichenkette.
-
string
-
Die Eingabezeichenkette.
-
limit
-
Ist der Parameter
limit
angegeben und positiv, enthält das zurückgegebene Array maximallimit
Elemente, wobei das letzte Element den Rest vonstring
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.
Rückgabewerte
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.
Changelog
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.
|
Beispiele
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 )
Anmerkungen
Hinweis: Diese Funktion ist binärsicher.
Siehe auch
- preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks
- str_split() - Konvertiert einen String in ein Array
- mb_split() - Split multibyte string using regular expression
- str_word_count() - Liefert Informationen über in einem String verwendete Worte
- strtok() - Zerlegt einen String
- implode() - Verbindet Array-Elemente zu einem String