Auf dieser Seite wird ihnen erklärt die PHP-Funktion implode(), wie man ein Array in einen String umwandelt. Manchmal möchte man ein Array in ein Text File speichern, dies ist in den meisten Fällen relativ schwierig. Dadurch gibt es die Möglichkeit ein Array in ein String umzuwandeln. Man kann mit der Funktion implode() zusätzlich zum Beispiel ein UPDATE oder INSERT INTO eines MySQL Statements verkürzen und sich viel Schreibarbeit sparen, dazu schauen sie sich das Beispiel 2 an.
Der Syntax:
implode(Trennzeichen, Array);
Beispiel 1:
<?php
$array = array(
'Müller',
'Hans',
'Nico',
'Tobias' );
$rueckgabe_implode = implode(";", $array);
echo $rueckgabe_implode;
?>
Ausgabe:
Müller;Hans;Nico;Tobias
Erklärung:
In der Variable $array haben wir unser eindimensionales Array gespeichert. Danach wird dieses Array, mit der Funktion implode() zusammengebaut. Als Trennzeichen verwenden wir ein Semikolon. danach wird die Rückgabe von der PHP Funktion implode() in der Variable $rueckgabe_implode gespeichert. Als nächstes wird die Variable ausgegeben.
Wenn man ein mehrdimensionales Array verarbeiten möchte, muss man die PHP Funktionen array_keys() und array_values() verwenden. In dem nachfolgenden Beispiel wird ein INSERT INTO SQL Statement zusammengebaut.
Beispiel 2:
<?php
$input = array(
'feldname1' => 'wert1',
'feldname2' => 'wert2',
'feldname3' => 'wert3' );
$sql_input = 'INSERT INTO `table` ( `id`, `'.implode("`, `", array_keys($input)).'`) values ('', ''.implode("','", array_values($input)).'')';
echo $sql_input;
?>
Ausgabe:
INSERT INTO `table` ( `id`, `feldname1`, `feldname2`, `feldname3`) values ('', 'wert1','wert2','wert3')
Erklärung:
Es wird in der PHP Variable $input unsern mehrdimensionales Array gespeichert. Danach bauen wir mit array_keys() und array_values() unser SQL Statement zusammen. Dieses SQL Statement wird in der PHP Variable $sql_input gespeichert. Danach geben wir diese Variable aus. Wenn man sich die Ausgabe ansieht, haben wir bei den SQL Statement im ersten Feld eine `id` gespeichert, dies ist bei den meisten SQL Statements immer vorhanden, da man in einer MySQL Tabelle einen so genannten Index benötigt. Wenn man den Index auf fortlaufend definiert hat, muss keine Wert übermittelt werden. Beim eintragen des neuen Eintrags wird automatisch eine ID Nummer vergeben.
Hinweis: Sollte man diese Art von zusammensetzen des SQL Statements verwenden, ist es empfehlenswert zu prüfen ob in den Array auch die entsprechenden richtigen Feldnamen vorhanden sind. Dies sollte man zum Beispiel mit einer IF- Anweisung überprüfen. Natürlich kann man dies nur machen, wenn man das Array vorher zum Beispiel mit einer for oder foreach Schleife durchlaufen ist.