it-swarm.com.de

Wie kombiniere ich zwei Strings in PHP?

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

Zum Beispiel:

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

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

Erwünschtes Ergebnis:

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

Dies wird als String-Verkettung bezeichnet. Deinem Beispiel fehlt jedoch ein Leerzeichen, also brauchst du dazu:

$result = $data1 . ' ' . $data2;
172
Logan Serman

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

Verwenden Sie den Verkettungsoperator . (und .=).

In 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 einen String an einen anderen String anhängen möchten, verwenden Sie den Operator .=:

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

Komplexe (geschweifte) Syntax/Anführungszeichen

In PHP werden in doppelten Anführungszeichen enthaltene Variablen interpoliert (d. H. Ihre Werte werden für die Variable "ausgelagert"). Dies bedeutet, dass Sie die Variablen anstelle der Zeichenfolgen platzieren und einfach ein Leerzeichen dazwischen einfügen können. Die geschweiften Klammern machen deutlich, wo sich die Variablen befinden.

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

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

$result = "$data1 $data2";

Verwenden Sie sprintf() oder printf()

sprintf() ermöglicht das Formatieren von Strings mit leistungsstarken Formatierungsoptionen. Es ist übertrieben für eine solche einfache Verkettung, aber es ist praktisch, wenn Sie eine komplexe Zeichenfolge haben und/oder die Daten auch etwas formatieren möchten.

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

printf() macht dasselbe, zeigt jedoch 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 einer Zeichenfolge zusammenzufassen.

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

Verwenden Sie 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 für PHP zu trennen, um einen Echo auszulösen und eine Zeichenfolge mit einem Leerzeichen als einen dieser Ausdrücke zu verwenden:

echo $data1, ' ', $data2;
67
John Conde

Niemand hat das erwähnt, aber es gibt andere Möglichkeiten. Ich verwende es für große SQL-Abfragen. Sie können verwenden. = Operator :)

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

echo $string; // gives: the color is red
19
codelame

Verketten Sie sie mit dem Operator .:

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

Oder verwenden Sie die String-Interpolation:

$result = "$data1 $data2";
17
Jeremy Ruten
$result = implode(' ', array($data1, $data2));

ist generischer.

Ein anderes verfügbares Formular ist dieses:

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

Sie können die folgende Codezeile ausprobieren

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

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!".

5
sunil
$result = $data1 . $data2;

versuche dies

5
Farhan

Ein Punkt wird verwendet, um Zeichenfolgen zu verketten. Ein einfaches Beispiel, um aus zwei String-Variablen eine einzige Variable zu machen:

$full = $part1 . $part2;

In Ihrem Beispiel möchten Sie Folgendes tun:

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

Sie werden feststellen, dass zwischen den beiden Variablen eine Zeichenfolge aus einem Leerzeichen hinzugefügt wurde. Dies liegt daran, dass Ihr ursprünglicher $data1 nicht mit einem Leerzeichen endete. Wenn Sie sie ohne kombiniert hätten, würde Ihre $result-Variable wie the color isred aussehen.

4
Aken Roberts

Das sollte für Sie funktionieren: 

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

Referenz: PHP String-Variablen

3
Robert
$s = "my name is ";

$s .= "keyur";

echo $s; 

ergebnis: 

my name is keyur
2
keyur sojitra

Ich bin nicht ganz klar, was Ihre Anforderungen sind, aber im Grunde könnten Sie die beiden Variablen getrennt definieren und anschließend kombinieren.

$data1="The colour is ";
$data2="red";

$result=$data1.$data2;

Auf diese Weise können Sie $ data2 sogar als globale Ebene deklarieren, um dessen Wert während der Ausführung zu ändern. Beispielsweise könnte die Antwort "rot" aus einem Kontrollkästchen erhalten.

1
Yoosuf

1.Ketten Sie die Zeichenfolge zusammen (Abstand zwischen jeder Zeichenfolge) 

Code-Auszug :

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1.$txt2 ;
 echo  $result. "\n";
 ?>  

Ausgabe: SachinTendulkar

2.Ketten Sie die Zeichenfolge, an der Platz vorhanden ist 

Code-Auszug :

<?php
 $txt1 = "Sachin";
 $txt2 = "Tendulkar";

 $result = $txt1." ".$txt2; 
 echo  $result. "\n";
?>  

Ausgabe: Sachin Tendulkar

  1. Verketten Sie den String mit der Funktion printf. 

Code-Auszug :

  <?php
 $data1 = "Sachin";
 $data2 = "Tendulkar";
 printf("%s%s\n",$data1, $data2);
 printf("%s %s\n",$data1, $data2); 
?>

Ausgabe:
SachinTendulkar
Sachin Tendulkar 

0
rashedcs

Ich glaube, der performanteste Weg ist:

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

Wenn Sie die Lokalisierung implementieren möchten, können Sie Folgendes tun:

$translationText = "the color is %s";
$translationRed  = "red";
$result = sprintf($translationText, $translationRed);

Es ist etwas langsamer, aber es werden keine Grammatikregeln angenommen.

0