Start · Sprachen · PHP · Referenz · join

join

Funktion

Verbindet alle Elemente eines Arrays zu einem einzigen String – <code>join()</code> ist ein Alias von <code>implode()</code>.

seit PHP 4.0.0 Kategorie: string

Signatur

join(string $separator, array $array): string

Beschreibung

join() ist ein exakter Alias der Funktion implode() und verhält sich in allen PHP-Versionen identisch zu dieser. Die Funktion verbindet alle Elemente eines Arrays mit einem angegebenen Trennzeichen zu einem einzigen String.

Der Parameter $separator wird zwischen je zwei aufeinanderfolgenden Elementen eingefügt, jedoch weder am Anfang noch am Ende des resultierenden Strings. Ist das Array leer, wird ein leerer String zurückgegeben.

In modernem PHP-Code wird meist implode() bevorzugt, da es die kanonische Funktion ist und die Absicht klarer kommuniziert. join() existiert, weil Entwickler aus anderen Programmiersprachen (z. B. Python, Perl) mit diesem Namen vertraut sind.

Seit PHP 7.4 ist die früher erlaubte Variante mit vertauschten Parametern (implode($array, $separator)) offiziell veraltet – für join() gilt dasselbe, da es intern identisch funktioniert.

Parameter

Name Typ Default Beschreibung
$separator Pflicht string Das Trennzeichen, das zwischen je zwei Array-Elementen eingefügt wird. Ein leerer String '' verbindet alle Elemente ohne Trennung.
$array Pflicht array Das Array, dessen Elemente zu einem String zusammengefügt werden sollen. Die Elemente werden intern in Strings umgewandelt.

Rückgabewert

Typ
string
Beschreibung
Gibt einen String zurück, der alle Array-Elemente enthält, verbunden durch das angegebene Trennzeichen. Bei einem leeren Array wird ein leerer String zurückgegeben.

Beispiele

Wörter mit Leerzeichen verbinden

<?php
$worte = ['PHP', 'ist', 'großartig'];
$satz = join(' ', $worte);
echo $satz;
PHP ist großartig

Pfadteile zu einem Dateipfad zusammensetzen

<?php
$teile = ['var', 'www', 'html', 'index.php'];
$pfad = '/' . join('/', $teile);
echo $pfad;
/var/www/html/index.php

CSV-Zeile erzeugen

<?php
$felder = ['Max Mustermann', '42', 'Berlin', 'Deutschland'];
$csvZeile = join(';', $felder);
echo $csvZeile;
Max Mustermann;42;Berlin;Deutschland

Leeres Array führt zu leerem String

<?php
$leer = [];
$ergebnis = join(', ', $leer);
var_dump($ergebnis);
string(0) ""

// Wichtig · Fallstricke

Alias-Hinweis: join() ist ein vollständiger Alias von implode(). In neuen Projekten wird empfohlen, ausschließlich implode() zu verwenden, um Konsistenz zu gewährleisten – vor allem, wenn Linter oder statische Analyse-Werkzeuge eingesetzt werden, die Aliase als Warnung markieren.

Typumwandlung: Array-Elemente werden automatisch in Strings konvertiert. Objekte ohne __toString()-Methode führen zu einem TypeError. Booleans werden zu '' (false) bzw. '1' (true) konvertiert.

Sicherheit: Werden Benutzerdaten in den Ergebnis-String eingefügt und dieser anschließend in HTML oder SQL verwendet, müssen die Daten korrekt mit htmlspecialchars() bzw. vorbereiteten Statements geschützt werden.