Wie kann ich in PHP zwei Strings miteinander kombinieren?

Lesezeit: 5 Minuten

Wie kann ich in PHP zwei Strings miteinander kombinieren
Glenn sowieso

Ich weiß eigentlich nicht, wie ich beschreiben soll, was ich wollte, aber ich zeige es dir:

Zum Beispiel:

$data1 = "the color is";
$data2 = "red";

Was soll ich tun (oder verarbeiten), damit $result die Kombination von ist $data1 und $data2?

Erwünschtes Ergebnis:

$result = "the color is red";

  • Es gibt viele Möglichkeiten, dies zu tun. Wenn Sie die Antwort sehen, können Sie sie überprüfen. aber nimm die einfachste. zum Beispiel $result=”$data1 $data2″; das ist es. oder $result=$data1.$data2;

    – Juwelhuq

    13. Januar 2016 um 10:11 Uhr

  • @Machavity kannst du die Schutzstufe auf magische Weise erhöhen, damit sich auf dieser Seite nicht ständig redundante Posts anhäufen?

    – mickmackusa

    6. Juli 2018 um 2:02 Uhr

  • Ich denke, die oben genannten Kritikpunkte, dass OP eine zu grundlegende Frage gestellt hat, sind ein Teil des Grundes, warum SO den Ruf erlangt hat, ein so feindseliger und unfreundlicher Ort für Anfänger zu sein. Ich denke, es ist eine vollkommen gültige Frage für die Site. Ich habe jedoch Einwände gegen die Tatsache, dass OP seit neun Jahren keine sehr detaillierte und nützliche Antwort akzeptiert hat. Vergessen Sie nicht den Häkchen-Button OP!

    – Lou

    1. September 2020 um 15:21 Uhr


$result = $data1 . $data2;

Dies wird als Zeichenfolgenverkettung bezeichnet. In Ihrem Beispiel fehlt jedoch ein Leerzeichen. Dafür benötigen Sie Folgendes:

$result = $data1 . ' ' . $data2;

Wie kann ich in PHP zwei Strings miteinander kombinieren
John Conde

Es gibt mehrere Möglichkeiten, zwei Zeichenfolgen miteinander zu verketten.

Verwenden Sie den Verkettungsoperator . (und .=)

Bei PHP . ist der Verkettungsoperator, der die Verkettung seiner rechten und linken Argumente zurückgibt

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;

Wenn Sie eine Zeichenfolge an eine andere Zeichenfolge anhängen möchten, verwenden Sie die .= Operator:

$data1 = "the color is ";
$data1 .= "red"

Komplexe (geschweifte) Syntax / Zeichenfolgen in doppelten Anführungszeichen

In PHP werden in doppelten Anführungszeichen enthaltene Variablen interpoliert (dh ihre Werte werden für die Variable “ausgetauscht”). Das bedeutet, dass Sie die Variablen anstelle der Zeichenfolgen platzieren und einfach ein Leerzeichen dazwischen setzen können. Die geschweiften Klammern verdeutlichen, wo sich die Variablen befinden.

$result = "{$data1} {$data2}";

Hinweis: Dies funktioniert in Ihrem Fall auch ohne die Klammern:

$result = "$data1 $data2";

Sie können Array-Werte auch innerhalb einer Zeichenfolge verketten:

$arr1 = ['val' => 'This is a'];
$arr2 = ['val' => 'test'];
$variable = "{$arr1['val']} {$arr2['val']}";

Verwenden sprintf() oder printf()

sprintf() ermöglicht es uns, Zeichenfolgen mit leistungsstarken Formatierungsoptionen zu formatieren. Es ist übertrieben für solch eine einfache Verkettung, aber es ist praktisch, wenn Sie eine komplexe Zeichenfolge haben und/oder die Daten auch formatieren möchten.

$result = sprintf("%s %s", $data1, $data2);

printf() macht dasselbe, zeigt aber sofort die Ausgabe an.

printf("%s %s", $data1, $data2);
// same as
$result = sprintf("%s %s", $data1, $data2);
echo $result;

Heredoc

Heredocs kann auch verwendet werden, um Variablen zu einem String zu kombinieren.

$result= <<<EOT
$data1 $data2
EOT;

Benutze einen , mit echo()

Dies funktioniert nur, wenn Inhalte ausgegeben werden und keine Variablen zugewiesen werden. Sie können jedoch ein Komma verwenden, um eine Liste von Ausdrücken zu trennen, die PHP ausgeben soll, und einen String mit einem Leerzeichen als einen dieser Ausdrücke verwenden:

echo $data1, ' ', $data2;

1647090847 449 Wie kann ich in PHP zwei Strings miteinander kombinieren
Codelame

Eine andere Möglichkeit ist die .= Operator. Ich verwende es für große SQL-Abfragen.

$string = "the color is ";
$string .= "red";

echo $string; // Gives: the color is red

  • “Ich benutze es für große SQL-Abfragen.” – Beachten Sie, dass dies eine typische Art des Erhaltens ist en.wikipedia.org/wiki/SQL_injection

    – Verringerung der Aktivität

    17. Juli 2019 um 7:03 Uhr


  • Wie genau wird mir die Verkettung von Zeichenfolgen auf diese oder andere Weise eine SQL-Injektion in meine parametrisierte Abfrage geben?

    – Codelame

    5. September 2019 um 22:27 Uhr

  • Das manuelle Erstellen ganzer SQL-Abfragen (zumindest von “für große SQL-Abfragen” vorgeschlagen) ist nicht in Ordnung. Nur Parameter vorzubereiten, nicht ganze Abfragen sollten vor diesem spezifischen Sicherheitsrisiko sicher sein.

    – Verringerung der Aktivität

    15. September 2019 um 11:53 Uhr


Verketten Sie sie mit dem . Operator:

$result = $data1 . " " . $data2;

Oder verwenden Sie die Zeichenfolgeninterpolation:

$result = "$data1 $data2";

$result = implode(' ', array($data1, $data2));

ist allgemeiner.

  • Dies ist sehr nützlich, wenn Sie eine Liste mit Trennzeichen erstellen möchten, da überprüft wird, ob die Variablen Werte haben $email_to = implode(', ', array($addr1, $addr2, addr3)); kein Bedarf für if($addr != '') etc

    – Aba

    5. Januar 2016 um 17:12 Uhr

  • Wählen Sie keine Array-Funktionen, es sei denn, Sie müssen. Weil Arrays immer langsamer funktionieren als Operatoren. Zusätzlich; sie verbrauchen mehr ram.

    – MERT DOĞAN

    20. Oktober 2016 um 14:28 Uhr

1647090847 183 Wie kann ich in PHP zwei Strings miteinander kombinieren
Tim G

Ein weiteres verfügbares Formular ist dieses:

<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";

  • Dies ist sehr nützlich, wenn Sie eine Liste mit Trennzeichen erstellen möchten, da überprüft wird, ob die Variablen Werte haben $email_to = implode(', ', array($addr1, $addr2, addr3)); kein Bedarf für if($addr != '') etc

    – Aba

    5. Januar 2016 um 17:12 Uhr

  • Wählen Sie keine Array-Funktionen, es sei denn, Sie müssen. Weil Arrays immer langsamer funktionieren als Operatoren. Zusätzlich; sie verbrauchen mehr ram.

    – MERT DOĞAN

    20. Oktober 2016 um 14:28 Uhr

1647090848 373 Wie kann ich in PHP zwei Strings miteinander kombinieren
Peter Mortensen

Sie können dies mit PHP tun:

$txt1 = "the color is";
$txt2 = " red!";
echo $txt1 . $txt2;

Dadurch werden zwei Zeichenfolgen kombiniert und die Ausgabe lautet: “Die Farbe ist rot!”.

  • Ihre fabrizierten Eingabewerte stellen nicht die Eingabezeichenfolge des OP dar, und Sie wiederholen Lösungen, die JAHRE zuvor angegeben wurden. Dies ist keine Javascript-Frage, sodass Ratschläge irrelevant sind. Dieser Beitrag fügt der Seite keinen Wert hinzu.

    – mickmackusa

    6. Juli 2018 um 1:55 Uhr

  • @mickmackusa, ok, ich habe den Text aktualisiert, du hast Recht, aber ich habe hier js beantwortet, weil dies eine sehr grundlegende Frage ist, damit der Benutzer den Unterschied lernen kann

    – Sonnel

    6. Juli 2018 um 11:28 Uhr

  • Ihr Update verwendet NICHT den Text des OP. Stellen Sie keine Javascript-Lösungen für PHP-Fragen bereit. Diese Antwort ist schlecht formatiert und fügt der Seite keinen Wert hinzu.

    – mickmackusa

    6. Juli 2018 um 11:48 Uhr


993700cookie-checkWie kann ich in PHP zwei Strings miteinander kombinieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy