提问人:glennanyway 提问时间:12/1/2011 最后编辑:Peter Mortensenglennanyway 更新时间:9/28/2022 访问量:714583
如何在PHP中将两个字符串组合在一起?
How can I combine two strings together in PHP?
问:
我实际上不知道如何描述我想要的东西,但我会告诉你:
例如:
$data1 = "the color is";
$data2 = "red";
我应该做什么(或处理),所以$result是 和 的组合?$data1
$data2
期望的结果:
$result = "the color is red";
答:
$result = $data1 . $data2;
这称为字符串连接。不过,您的示例缺少空格,因此具体而言,您需要:
$result = $data1 . ' ' . $data2;
您可以尝试以下代码行
$result = $data1 . " " . $data2;
评论
将它们与运算符连接起来:.
$result = $data1 . " " . $data2;
或者使用字符串插值:
$result = "$data1 $data2";
这应该适合您:
$result = $data1 . " " . $data2;`
参考:PHP 字符串变量
句点用于连接字符串。将两个字符串变量转换为单个变量的简单示例:
$full = $part1 . $part2;
在您的示例中,您需要执行以下操作:
$result = $data1 . ' ' . $data2;
你会注意到我在两个变量之间添加了一个空格的字符串。这是因为您的原件没有以空格结尾。如果你在没有它的情况下将它们组合在一起,你的变量最终将看起来像 .$data1
$result
the color isred
我不太清楚您的要求是什么,但基本上您可以分别定义这两个变量,然后将它们组合在一起。
$data1="The colour is ";
$data2="red";
$result=$data1.$data2;
通过这样做,您甚至可以将 $data 2 声明为全局级别,以便您可以在执行期间更改其值。例如,它可以从复选框中获取答案“红色”。
另一种可用的形式是这样的:
<?php
$data1 = "the color is";
$data2 = "red";
$result = "{$data1} {$data2}";
$result = implode(' ', array($data1, $data2));
更通用。
评论
$email_to = implode(', ', array($addr1, $addr2, addr3));
if($addr != '')
另一种可能性是运营商。我正在将它用于大型 SQL 查询。.=
$string = "the color is ";
$string .= "red";
echo $string; // Gives: the color is red
评论
有几种方法可以将两个字符串连接在一起。
使用串联运算符(和.
.=
)
在 PHP 中是串联运算符,它返回其左右参数的串联.
$data1 = "the color is";
$data2 = "red";
$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()
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;
$s = "my name is ";
$s .= "keyur";
echo $s;
结果:
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"; ?>
输出: SachinTendulkar
连接存在空格的字符串
代码片段:
<?php $txt1 = "Sachin"; $txt2 = "Tendulkar"; $result = $txt1 . " " . $txt2; echo $result . "\n"; ?>
输出: Sachin Tendulkar
使用 printf 函数连接字符串。
代码片段:
<?php $data1 = "Sachin"; $data2 = "Tendulkar"; printf("%s%s\n", $data1, $data2); printf("%s %s\n", $data1, $data2); ?>
输出:
SachinTendulkar Sachin Tendulkar
评论
试试这个。我们可以在 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;
评论
这里已经提到的最简单的方法:
$result = $data1 . ' ' . $data2;
在某些情况下,您可能需要使用 join() 或 implode() 等函数。这两个函数都做同样的事情,即将数组项转换为字符串。
示例 1:
$result = join(' ', [$data1, $data2]);
示例 2:
$result = implode(' ', [$data1, $data2]);
$result = $data1 . ' ' . $data2;
或
最好的方法。
$result = "$data1 $data2";
或
$result = "{$data1} {$data2};
你可以让你的 on 数组的值为空而不是空;并使用 filter 和 implode 来制作完整的句子
$str1 = 'hello';
$str2 = 'my name';
$str3 = 'vijay';
$str4 = '';
$fullsentence = array_filter([$str1, $str2, $str3, $str4]);
echo implode(' ', $fullsentence);
评论