Die Funktion explode ermöglicht es dem PHP Programmierer, einzelne Bestandteile einer Zeichenkette in ein Array zu exportieren. Dabei wird ein Trennerzeichen oder ein Trenner-String angegeben, das als Anhaltspunkt für die Aufteilung genutzt wird. An den Stellen, an denen ein Trenner im Quell-String steht wird dieser als Endpunkt eines Array-Elements interpretiert – das Element erstreckt sich vom Beginn des Strings bzw. vom letzten Trenner im String bis zum nächsten vorkommenden Trenner oder aber (falls keine weiteren Trenner folgen) bis zum Ende des Strings.
Explode erwartet zumindest zwei Parameter, von denen der Erste das Trennzeichen oder den Trenn-String angibt. Mit dem zweiten Parameter wird das zugrundeliegende Quell-String angegeben, aus dem die enthaltenen Teilstrings entnommen werden sollen. Der optionale dritte Parameter kann genutzt werden, um eine maximale Obergrenze der zu entnehmenden Elemente festzulegen. Wird hier beispielsweise die Zahl fünf angegeben, so werden maximal fünf Elemente extrahiert.
Als Rückgabewert liefert explode ein eindimensionales Array, welches die durch den Trenner separierten Teilstrings enthält. Kommt der Trenner nicht im Quellstring vor, so wird ein Array geliefert, das lediglich ein Element enthält, in dem das koplette Quellstring steht. Wird als Trenner ein leeres String an die Funktion übergeben, so liefert explode stets den Wert FALSE. Bei Angabe des optionalen Parmeters zur Begrenzung der Trennungen arbeitet explode wie zuvor beschrieben. Allerdings kann hier ein besonderer Fall auftreten: Enthält das Quellstring mehr als die per Begrenzung angegebenen Elemente, so enthält das letzte Element des gelieferten Arrays nicht nur das per Parameter vorgegebene n-te Element, sondern den Rest der Quellzeichenkette beginnend ab dem Startpunkt des entsprechenden Elements. Beachten Sie bitte, dass explode beim Auffinden von Trennern grundsätzlich zwischen Groß- und Kleinschreibung unterscheidet. Mit Hilfe der Funktionen split und spliti können Strings auf Basis von regulären Ausdrücken aufgeteilt werden.
<?php // Initialisieren eines Strings, welches als Quellstring genutzt werden soll $quellstring = 'Dieser Satz soll in seine Bestandteile zerlegt werden.'; // String mit einem Leerzeichen als Trennerzeichen aufteilen $woerter = explode (' ', $quellstring); // Anzahl der Worte im Beispielsatz echo 'Anzahl der Worte im String: ' . sizeof ($woerter) . '<br>'; // Inhalt des Arrays ausgeben print_r ($woerter); // Über den Trenner maximal drei Elemente extrahieren $ersten_drei = explode (' ', $quellstring, 3); // Und wieder das Ergebnis anzeigen print_r ($ersten_drei); ?>
Anzahl der Worte im String: 8
Array
(
[0] => Dieser
[1] => Satz
[2] => soll
[3] => in
[4] => seine
[5] => Bestandteile
[6] => zerlegt
[7] => werden.
)
Array
(
[0] => Dieser
[1] => Satz
[2] => soll in seine Bestandteile zerlegt werden.
)
<?php // Scriptparameter (z.B. nach Entnahme aus _GET) separieren $parameter = 'page=2§ion=1&topic=34'; // Einzelne Parameter eines GET-Request werden durch ein &-Zeichen getrennt $args = explode ('&', $parameter); // Parameter in ein assoziatives Array umwandeln for ($i = 0; $i < sizeof ($args); $i++) { // Schlüssel-Werte-Paare sind durch ein Gleichheitszeichen // voneinander getrennt. Jeder Parameter enthält den Variablennamen, // gefolgt von einem = (Trenner) und dem Wert, welcher bis zum Ende // des Array-Elements geht. Es sollen also maximal zwei Elemente // voneinander getrennt werden. Statt einer Zuweisung an ein Array // werden die Werte hier mit Hilfe von list in den beiden Variablen // key und value zwischengespeichert. list ($key, $value) = explode ('=', $args[$i], 2); // Assoziazives Array mit Key-Value-Paaren aufbauen $assoc_parameter[$key] = $value; // Alternativ geht auch folgendes: // $tmp = explode ('=', $args[$i], 2); // $assoc_parameter[$tmp[0]] = $tmp[1]; } // Resultat der Umwandlung ausgeben print_r ($assoc_parameter); ?>
Array
(
[page] => 2
[section] => 1
[topic] => 34
)
Hallo Zusammen, Am 20./21. Mai findet in Hamburg die erste Developer Conference 2011 statt. Wie der Name bereits verrät, handelt die Konferenz rund ... » mehr
von devcon-hamburg am Dienstag, 12. April 2011 16:50 in PHP - noch nicht beantwortetHallo zusammen, ich habe ein kleines Problem: Ich brauche bei der Entwicklung eines Kontaktformulares für eine Website eine bedingte Weiterleitung ... » mehr
von scatha am Donnerstag, 10. März 2011 01:12 in PHP - noch nicht beantwortetMein vorhaben ist recht simpel aber ich bin php noob (hoffe das entschuldigt es nen bissl xD) und hab kp wie ichs anfangen soll. Und zwar möchte ich ... » mehr
von HeathenMan am Dienstag, 1. Februar 2011 22:57 in PHP - bisher 1 AntwortHallo,
am einfachsten und kompaktesten kann man das mit einem regulären Ausdruck machen. Einfach mal nach der Funktion preg_match_all suchen und den ... » mehr
Hallo, die Bildergalerie mit php und js ist super, jedoch möchte ich gern zu meinen Bildern verschiedene Bemerkungen machen und zwar untereinander, ... » mehr
von Sylma am Mittwoch, 26. Januar 2011 01:13 in PHP - bisher 1 AntwortHallo,
ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr
Hallo alle miteinander, ich hoffe, dass mit hier jemand helfen kann. Ich habe mir hier von der Seite die Bildergalerie mit JS und PHP ... » mehr
von Saga am Dienstag, 28. Dezember 2010 09:57 in PHP - bisher 6 AntwortenHallo Alex,
die Warnung ist zwar jetzt durch das isset weg, aber die Daten werden immer noch nicht übergeben. (Nachdem ich durch das isset die ... » mehr
¬ Menu
¬ Gratis Download
¬ Tutorials
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

Enterprise PHP 5
Weitere PHP Bücher finden Sie unter PHP Literatur