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

2022-08-30 06:32:36

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

例如:

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

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

期望结果:

$result = "the color is red";

答案 1
$result = $data1 . $data2;

这称为字符串串联。但是,您的示例缺少空间,因此具体而言,您需要:

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

答案 2

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

使用串联运算符 .(和 .=

在 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;

推荐