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";
$result = $data1 . $data2;
Dies wird als Zeichenfolgenverkettung bezeichnet. In Ihrem Beispiel fehlt jedoch ein Leerzeichen. Dafür benötigen Sie Folgendes:
$result = $data1 . ' ' . $data2;
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;
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
Verketten Sie sie mit dem .
Operator:
$result = $data1 . " " . $data2;
Oder verwenden Sie die Zeichenfolgeninterpolation:
$result = "$data1 $data2";
$result = implode(' ', array($data1, $data2));
ist allgemeiner.
Ein weiteres verfügbares Formular ist dieses:
<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
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!”.
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