我不知道该怎么形容我想要的,但我会告诉你:
例如:
$data1 = "the color is"; $data2 = "red";
我应该做什么(或处理) ,因此 $result 是 $data1和 $data2的组合?
$data1
$data2
预期结果:
$result = "the color is red";
$result = $data1 . $data2;
这就是所谓的字符串连接,但是你的例子中缺少一个空格,所以你需要:
$result = $data1 . ' ' . $data2;
您可以尝试使用以下代码行
$result = $data1 . " " . $data2;
将它们与 .操作员连接起来:
.
或者使用字符串插值:
$result = "$data1 $data2";
这应该对你有用:
$result = $data1 . " " . $data2;`
参考资料: PHP 字符串变量
句点用于串联字符串。将两个字符串变量转换为单个变量的简单示例:
$full = $part1 . $part2;
在你的例子中,你想做的是:
您会注意到,我在两个变量之间添加了一个由一个空格组成的字符串。这是因为原来的 $data1没有以空格结束。如果你没有它们组合,你的 $result变量将最终看起来像 the color isred。
$result
the color isred
我不是很清楚你的要求是什么,但基本上你可以分别定义这两个变量,然后将它们结合在一起。
$data1="The colour is "; $data2="red"; $result=$data1.$data2;
通过这样做,您甚至可以将 $data2声明为全局级别,这样您就可以在执行期间更改它的值。例如,它可以从复选框中获得答案“ red”。
另一种形式是:
<?php $data1 = "the color is"; $data2 = "red"; $result = "{$data1} {$data2}";
$result = implode(' ', array($data1, $data2));
更普通。
另一种可能性是 .=操作符。我用它来进行大型 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}";
注意: 在这种情况下,不使用大括号也可以工作:
还可以将数组值连接到字符串中:
$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;
这将组合两个字符串,输出将是: “颜色是红色!”。
试试这个:
串联字符串(每个字符串之间的空格)
代码片段:
<?php $txt1 = "Sachin"; $txt2 = "Tendulkar"; $result = $txt1 . $txt2 ; echo $result . "\n"; ?>
输出: SachinTennulkar
连接存在空格的字符串
<?php $txt1 = "Sachin"; $txt2 = "Tendulkar"; $result = $txt1 . " " . $txt2; echo $result . "\n"; ?>
产出: 沙奇·德鲁卡
使用 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 = join(' ', [$data1, $data2]);
例二:
$result = implode(' ', [$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);