W3docs

join()

Die Funktion join() in PHP verbindet Array-Elemente zu einem String und ist ein Alias von implode().

Einführung

Die Funktion join() in PHP verbindet die Elemente eines Arrays zu einem einzelnen String und platziert dabei ein Trennzeichen (oft als „Kleber" bezeichnet) zwischen jedem Element. Sie ist ein Alias von implode() — beide Funktionen sind identisch, daher können Sie denjenigen Namen verwenden, der in Ihrem Code besser lesbar ist.

Diese Seite behandelt die Syntax von join(), beide Aufrufvarianten, das Verhalten bei gemischten Typen und verschachtelten Werten sowie häufige Fehler, die es zu vermeiden gilt.

Syntax

join(string $separator, array $array): string
join(array $array): string
  • $separator — der Glue-String, der zwischen den einzelnen Elementen eingefügt wird. Wenn Sie ihn weglassen, wird ein leerer String "" verwendet.
  • $array — das Array, dessen Werte zusammengefügt werden. Es werden nur die Werte verwendet; Array-Schlüssel werden ignoriert.

Die Funktion gibt den zusammengefügten String zurück.

Reihenfolge der Argumente: Da join() ein Alias von implode() ist, sollte die historische Reihenfolge „Trennzeichen zuerst, Array als zweites" verwendet werden. Die veraltete Form, bei der das Array zuerst stand, wurde in PHP 8.0 entfernt.

Einfaches Beispiel

php— editable, runs on the server

Die Ausgabe lautet:

apple, banana, orange

Hier verbindet join() die drei Werte mit ", " dazwischen. Das Ergebnis wird in $fruit_string gespeichert und mit echo ausgegeben.

Verbinden ohne Trennzeichen

Wenn Sie join() nur mit dem Array aufrufen, werden die Elemente direkt ohne Trennzeichen aneinandergehängt:

<?php

$parts = ["2024", "06", "21"];
echo join($parts);        // 20240621
echo "\n";
echo join("-", $parts);   // 2024-06-21

Wie Werte konvertiert werden

Jeder Wert wird vor dem Verbinden in einen String umgewandelt, entsprechend den normalen PHP-Regeln zur String-Konvertierung:

<?php

$mixed = [1, 2.5, true, false, null, "text"];
echo join("|", $mixed);

Die Ausgabe lautet:

1|2.5|1|||text

Beachten Sie, dass true zu "1" wird, während false und null zu leeren Strings werden — deshalb sehen Sie aufeinanderfolgende |-Trennzeichen. Seien Sie vorsichtig beim Verbinden von Arrays, die boolesche Werte oder null enthalten können.

CSV-ähnliche oder HTML-Ausgabe erstellen

join() ist praktisch, wenn Sie eine Liste in Text umwandeln möchten — Query-Strings, CSV-Zeilen oder eine Liste von HTML-Attributen:

<?php

$row = ["Alice", "[email protected]", "Admin"];
echo join(",", $row);        // Alice,[email protected],Admin
echo "\n";

$classes = ["btn", "btn-primary", "active"];
echo '<button class="' . join(" ", $classes) . '">OK</button>';

Häufige Fallstricke

  • Mehrdimensionale Arrays funktionieren nicht. join() verflacht nur eine Ebene. Ein verschachteltes Array-Element wird zum wörtlichen String "Array" konvertiert und löst eine Warnung aus. Verflachen Sie die Daten zuerst.
  • join() ist das Gegenteil von explode(). Verwenden Sie explode(), um einen String wieder in ein Array aufzuteilen, und join()/implode(), um ihn wieder zusammenzusetzen.
  • Schlüssel werden ignoriert. Sowohl numerische als auch String-Schlüssel werden ignoriert; es werden nur die Werte in ihrer internen Reihenfolge verbunden.

Verwandte Funktionen

  • implode() — identische Funktion unter ihrem primären Namen.
  • explode() — einen String in ein Array aufteilen (die umgekehrte Operation).
  • str_split() — einen String in Abschnitte fester Länge aufteilen.

Übung

Übung
Was ist die Hauptfunktion der implode()-Funktion in PHP?
Was ist die Hauptfunktion der implode()-Funktion in PHP?
Was this page helpful?