Auf dieser Seite wird Ihnen erklärt, wie Sie die PHP-Funktion implode() verwenden können, um ein Array in einen String umzuwandeln. Manchmal möchten Sie ein Array in eine Textdatei speichern, was in den meisten Fällen relativ schwierig ist. Daher besteht die Möglichkeit, ein Array in einen String umzuwandeln. Sie können die Funktion implode() auch verwenden, um beispielsweise ein UPDATE oder INSERT INTO eines MySQL-Statements zu verkürzen und sich viel Schreibarbeit zu sparen. Sehen Sie sich dazu 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.
Um ein mehrdimensionales Array zu verarbeiten, müssen die PHP-Funktionen array_keys() und array_values() verwendet werden. Im folgenden 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 unser 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 Sie sich die Ausgabe ansehen, wird festgestellt, dass im ersten Feld des SQL-Statements eine `id` gespeichert ist. Dies ist bei den meisten SQL-Statements üblich, da in einer MySQL-Tabelle ein sogenannter Index benötigt wird. Wenn der Index auf fortlaufend definiert ist, muss kein Wert übergeben werden. Beim Eintragen eines neuen Eintrags wird automatisch eine ID-Nummer vergeben.
Hinweis: Wenn Sie diese Art von SQL-Statement-Zusammensetzung verwenden, wird empfohlen, zu überprüfen, ob die entsprechenden richtigen Feldnamen auch im Array vorhanden sind. Dies sollten Sie zum Beispiel mit einer IF- Anweisung überprüfen. Natürlich können Sie dies nur machen, wenn Sie das Array vorher zum Beispiel mit einer for oder foreach Schleife durchlaufen ist.