1. Home
  2. Docs
  3. PHP
  4. PHP Strings
  5. PHP Concatenate Strings

PHP Concatenate Strings

PHP Concatenate Strings: Das Verketten (Konkatenieren) von Strings ist eine grundlegende Technik in PHP, mit der mehrere Zeichenketten zu einem einzigen String kombiniert werden. PHP bietet mehrere Methoden, um Strings effizient zu verknüpfen und anzupassen.

Verketten mit dem Punkt-Operator

In PHP wird der Punkt-Operator (.) verwendet, um Strings zu verketten. Er fügt zwei oder mehr Strings zusammen, ohne dass eine spezielle Funktion erforderlich ist. Dies ist die gebräuchlichste Methode zur String-Konkatenation in PHP.

<?php
$text1 = "PHP";
$text2 = "ist";
$text3 = "großartig!";
$phrase = $text1 . " " . $text2 . " " . $text3;
echo $phrase; // Ausgabe: PHP ist großartig!
?>

Effiziente Verkettung mehrerer Strings

Bei der Verkettung mehrerer Strings kann es sinnvoll sein, Variablen zu erstellen oder eine for-Schleife zu nutzen, um wiederkehrende Textelemente dynamisch zu verarbeiten.

<?php
$teile = ["PHP", "macht", "Spaß", "zu", "lernen!"];
$satz = "";
foreach ($teile as $teil) {
    $satz .= $teil . " ";
}
echo trim($satz); // Ausgabe: PHP macht Spaß zu lernen!
?>

Hier wird der .=-Operator verwendet, um die Inhalte Schritt für Schritt an die bestehende Variable $satz anzuhängen.

Verketten und Variablen in Strings mit doppelten Anführungszeichen

PHP erlaubt das Einfügen von Variablen in Strings mit doppelten Anführungszeichen. Dies wird als String-Interpolation bezeichnet. Dabei werden Variablen direkt im String ersetzt, was den Code in manchen Fällen lesbarer macht.

<?php
$name = "Anna";
echo "Hallo, $name!"; // Ausgabe: Hallo, Anna!
?>

Für komplexere oder mehrteilige Variablen kann die Interpolation durch geschweifte Klammern gesteuert werden:

<?php
$user = ["name" => "Anna", "alter" => 25];
echo "Name: {$user['name']}, Alter: {$user['alter']}"; // Ausgabe: Name: Anna, Alter: 25
?>

Kombination von Punkt-Operator und Interpolation

Auch die Kombination aus Punkt-Operator und String-Interpolation ist möglich und bietet sich an, wenn ein Teil des Strings aus festem Text und ein anderer Teil aus Variablen besteht.

<?php
$vorname = "Max";
$nachname = "Mustermann";
echo "Hallo, " . $vorname . " " . $nachname . "!"; // Ausgabe: Hallo, Max Mustermann!
?>

sprintf() und Formatierung von Strings

Mit der Funktion sprintf() kann ein Format-String erstellt werden, der Werte an definierten Stellen einfügt. Diese Methode ist besonders nützlich, wenn komplexe Formatierungen erforderlich sind oder wenn Werte auf eine bestimmte Art und Weise eingebunden werden müssen.

<?php
$name = "Anna";
$punkte = 95;
$text = sprintf("Spieler %s hat %d Punkte erreicht!", $name, $punkte);
echo $text; // Ausgabe: Spieler Anna hat 95 Punkte erreicht!
?>

Hierbei verwendet sprintf() Platzhalter (%s für Strings, %d für Ganzzahlen), die durch die jeweiligen Variablenwerte ersetzt werden.

Strings mit implode() zusammenfügen

Die implode()-Funktion fügt die Elemente eines Arrays zu einem String zusammen und trennt sie durch ein definiertes Trennzeichen.

<?php
$teile = ["PHP", "macht", "Spaß", "zu", "lernen"];
$satz = implode(" ", $teile);
echo $satz; // Ausgabe: PHP macht Spaß zu lernen
?>

Dies ist besonders nützlich, wenn eine Liste oder ein Array in einem einheitlichen Format angezeigt werden soll.

Unterschied zwischen . und .= Operator

  • Der Punkt-Operator (.) verkettet Strings und gibt das Ergebnis als neuen String zurück.
  • Der Punkt-Gleich-Operator (.=) fügt den Inhalt eines Strings an eine vorhandene Variable an und speichert das Ergebnis direkt in dieser Variable.
<?php
$text = "PHP";
$text .= " ist großartig!"; // Das Gleiche wie: $text = $text . " ist großartig!";
echo $text; // Ausgabe: PHP ist großartig!
?>

Dynamische Verkettung in Schleifen

Der .=-Operator ist besonders praktisch in Schleifen, wenn Text dynamisch aufgebaut werden muss.

<?php
$teile = ["HTML", "CSS", "JavaScript", "PHP"];
$skills = "Ich kenne: ";
foreach ($teile as $teil) {
    $skills .= $teil . ", ";
}
echo rtrim($skills, ", "); // Ausgabe: Ich kenne: HTML, CSS, JavaScript, PHP
?>

Häufig gestellte Fragen

Warum wird der Punkt-Operator und nicht + zur Verkettung verwendet?

In PHP wird der +-Operator nur für numerische Werte genutzt. Der Punkt-Operator (.) ist explizit für Strings und vermeidet Missverständnisse zwischen numerischen und String-Operationen.

Wie kann ich einen String mit dynamischen Variablen und statischem Text flexibel aufbauen?

Die String-Interpolation in Kombination mit dem Punkt-Operator ermöglicht eine klare und flexible Verkettung von statischem Text und Variablen.