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

如何在PHP中将两个字符串组合在一起?,php,string,variables,combinations,Php,String,Variables,Combinations,我不知道如何描述我想要的,但我会告诉你: 例如: $data1 = "the color is"; $data2 = "red"; 我应该怎么做(或处理)才能使$result是$data1和$data2的组合 预期结果: $result = "the color is red"; 这称为字符串连接。但是,您的示例缺少空间,因此具体而言,您需要: $result = $data1 . ' ' . $data2; 您可以尝试以下代码行

我不知道如何描述我想要的,但我会告诉你:

例如:

$data1 = "the color is";
$data2 = "red";
我应该怎么做(或处理)才能使$result是
$data1
$data2
的组合

预期结果:

$result = "the color is red";
这称为字符串连接。但是,您的示例缺少空间,因此具体而言,您需要:

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

您可以尝试以下代码行

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

使用
运算符将它们连接起来:

$result = $data1 . " " . $data2;
$data1 = "the color is ";
$data1 .= "red"
或使用字符串插值:

$result = "$data1 $data2";

这应该适合您:

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

引用:

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

$full = $part1 . $part2;
在您的示例中,您希望执行以下操作:

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

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

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

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

$result=$data1.$data2;

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

另一种可用形式是:

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


更通用。

另一种可能性是
=
运算符。我将它用于大型SQL查询

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

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

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

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

$result=$data1.$data2;
使用连接运算符
(和
=

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

$data1 = "the color is";
$data2 = "red";
$result = $data1 . ' ' . $data2;
如果要将一个字符串附加到另一个字符串,可以使用
=
运算符:

$result = $data1 . " " . $data2;
$data1 = "the color is ";
$data1 .= "red"
复杂(卷曲)语法/双引号字符串

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

$result = "{$data1} {$data2}";
注意:在您的情况下,不使用大括号也可以:

$result = "$data1 $data2";
还可以在字符串中连接数组值:

$arr1 = ['val' => 'This is a'];
$arr2 = ['val' => 'test'];
$variable = "{$arr1['val']} {$arr2['val']}";
使用
sprintf()
printf()

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

$result = sprintf("%s %s", $data1, $data2);
printf()
执行相同的操作,但会立即显示输出

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

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

$result= <<<EOT
$data1 $data2
EOT;
结果:

my name is keyur

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

$txt1 = "the color is";
$txt2 = " red!";
echo $txt1 . $txt2;
这将组合两个字符串,输出为:“颜色为红色!”。

尝试以下操作:

$result = $data1 . $data2;
  • 连接字符串(每个字符串之间的空格)

    代码片段:

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

  • 我认为最有效的方法是:

    $data1 = "the color is";
    $data2 = "red";
    $result = $data1 . ' ' . $data2;
    
    如果要实施本地化,可以执行以下操作:

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

    它稍微慢一点,但不采用语法规则。

    试试这个。我们可以在PHP中附加一个带有点(.)符号的字符串

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

    在PHP中将两个字符串组合在一起:

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


    这在需要创建分隔列表的情况下非常有用,因为它会检查变量是否有任何值
    $email\u to=introde(',',array($addr1,$addr2,addr3))如果($addr!='')不选择数组函数,则无需使用
    。因为数组的运行总是比操作符慢。此外;他们使用更多的内存。有很多方法可以做到这一点。如果你看到了答案,你可以检查一下。但是使用最简单的一个。例如$result=“$data1$data2”;就这样。或$result=$data1.$data2@Machavity你能神奇地提高保护级别,这样多余的帖子就不会一直堆积在这一页上吗?我认为OP提出了一个过于基本的问题,上面的批评是为什么so获得了一个如此敌对和不友好的名声的部分原因。我认为这对网站来说是一个完全正确的问题。然而,我不同意OP九年来没有接受一个非常详细和有用的答案这一事实。别忘了勾选按钮操作!欢迎来到StackOverflow。如果你回答问题,那就好了。但是,如果您这样做,请将其格式化。此外,你的答案已经给出了。它是如何为这篇四年的帖子增加附加值的?这只是现有答案的重复。这个答案提供了其他答案所没有的东西吗?@rashedcs对我来说非常有用!!您捏造的输入值并不代表OP的输入字符串,您是在重复多年前提出的解决方案。这不是一个javascript问题,因此建议是不相关的。这篇文章没有给页面增加任何价值。@mickmackusa,好吧,我更新了文本,你是对的,但我在这里给出了js的答案,因为这是一个非常基本的问题,用户可以了解差异。你的更新没有使用OP的文本。不要为php问题提供javascript解决方案。此答案格式不正确,对页面没有任何价值。这不是正确的答案。它的结果是“颜色是红色的”。此外,您的答案与几年前发布的某人的答案重复。否决票。我宁愿用单引号而不是双引号。“我正在使用它进行大型sql查询。”-请注意,这是一种典型的方式,可以通过这种或其他方式获得字符串连接在参数化查询中的sql注入效果。手动构建整个sql查询(至少“用于大型sql查询”)是不行的。只准备参数,而不是整个查询应该不会受到这种特定安全风险的影响
    
    $data1 = "the color is";
    $data2 = "red";
    
    echo $data1 . $data2; // The color isred
    echo $data1 . " " . $data2; // The color is red (we have appended space)
    
    $result = $data1 . ' ' . $data2;