如何在PHP中将两个字符串组合在一起?

时间:2011-12-01 05:18:57

标签: php string variables combinations

我实际上并不知道如何描述我想要的东西,但我会告诉你:

例如:

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

我该怎么做(或处理)所以$ result是$data1$data2的组合?

期望的结果:

$result = "the color is red";

17 个答案:

答案 0 :(得分:178)

$result = $data1 . $data2;

这称为字符串连接。你的例子虽然缺乏空间,所以具体来说,你需要:

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

答案 1 :(得分:71)

有几种方法可以将两个字符串连接在一起。

使用连接运算符.(和.=

在PHP .中是连接运算符,它返回其左右参数的串联

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

如果要将字符串附加到另一个字符串,可以使用.=运算符:

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

复杂(卷曲)语法/双引号字符串

在PHP中,双引号字符串中包含的变量是内插的(即它们的值为变量的“换出”)。这意味着您可以将变量放在字符串的位置,只需在它们之间放置一个空格即可。花括号清楚地表明了变量的位置。

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

注意:在没有大括号的情况下,这也可以使用:

$result = "$data1 $data2";

使用sprintf()printf()

sprintf()允许我们使用强大的格式化选项格式化字符串。对于这种简单的连接来说这是过度的,但是当你有一个复杂的字符串和/或想要对数据进行一些格式化时它很方便。

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

printf()做同样的事情,但会立即显示输出。

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

<强>定界符

Heredocs也可用于将变量组合成字符串。

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

,echo()

一起使用

这仅在回显内容而不是分配给变量时才有效。但您可以使用逗号分隔PHP表达式列表以回显并使用带有一个空格的字符串作为其中一个表达式:

echo $data1, ' ', $data2;

答案 2 :(得分:19)

没有人提到这一点,但还有其他可能性。我正在使用它进行大量的SQL查询。你可以使用。= operator:)

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

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

答案 3 :(得分:17)

将它们与.运算符连接起来:

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

或者使用字符串插值:

$result = "$data1 $data2";

答案 4 :(得分:9)

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

更通用。

答案 5 :(得分:8)

另一种形式是:

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

答案 6 :(得分:6)

您可以尝试以下代码行

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

答案 7 :(得分:5)

您可以使用PHP执行此操作:

{{1}}

这将组合两个字符串,putput将是:“颜色为红色!”。

答案 8 :(得分:5)

$result = $data1 . $data2;

试试这个

答案 9 :(得分:4)

句点用于连接字符串。将两个字符串变量转换为单个变量的简单示例:

$full = $part1 . $part2;

在您的示例中,您需要执行以下操作:

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

你会注意到我在两个变量之间添加了一个字符串。这是因为您的原始$data1并未以空格结尾。如果您在没有它的情况下合并它们,则$result变量最终会看起来像the color isred

答案 10 :(得分:3)

这应该适合你:

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

参考:PHP String Variables

答案 11 :(得分:2)

$s = "my name is ";

$s .= "keyur";

echo $s; 

结果:

my name is keyur

答案 12 :(得分:1)

我不清楚你的要求是什么,但基本上你可以单独定义这两个变量,然后将它们组合在一起。

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

$result=$data1.$data2;

通过这样做,你甚至可以将$ data2声明为全局级别,这样你就可以在执行期间更改它的值,例如它可以从复选框中获得“red”的答案。

答案 13 :(得分:0)

  

1.Concatenate字符串(每个字符串之间的空格)

代码段:

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

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

输出:SachinTendulkar

  

2.Concatenate存在空间的字符串

代码段:

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

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

输出:Sachin Tendulkar

  
      
  1. 使用printf函数连接字符串。
  2.   

代码段:

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

输出:
萨辛·坦都卡
Sachin Tendulkar

答案 14 :(得分:0)

我相信最高效的方式是:

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

如果您想实施本地化,您可以执行以下操作:

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

它有点慢,但它不假设语法规则。

答案 15 :(得分:-1)

$ result = $ data1。 ''。 $ data2;

答案 16 :(得分:-2)

尝试一下,我们可以在php中用点(。)符号附加字符串

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

echo $data1.$data2; //the color isred
echo $data1." ".$data2; // the color is red (we have appended space)