4

我刚刚发现了一些东西。

echo $var1 , " and " , $var2;

是相同的:

echo $var1 . " and " . $var2;

php中实际的字符串连接运算符是什么?我应该使用.还是,

4

8 回答 8

14

.运算符是连接运算符。您的第一个示例仅有效,因为 echo 'function' (从技术上讲,它是一种语言结构,但不允许分裂头发)接受多个参数,并将打印每个参数。

因此,您的第一个示例是使用多个参数调用 echo,并且它们都被打印,而第二个示例是所有字符串都被连接并且正在打印一个大字符串。

于 2009-09-29T08:17:36.267 回答
4

实际的串联是.(句点)。在那里使用,(逗号),您将多个参数传递给echo函数。(实际上,echo它不是一个函数,而是一个 PHP 语言结构,这意味着您可以省略实际函数调用所需的参数列表周围的括号。)

于 2009-09-29T08:16:55.750 回答
3

在第一种情况下,您只需回显 3 个不同的字符串。

在第二种情况下,您连接 3 个字符串,然后回显输出。

所以答案是,为了连接字符串,你应该使用点 (.)

于 2009-09-29T08:17:10.397 回答
2

“。”。另一个只是独立写入几个值,而不实际连接字符串。
另请参阅PHP 回显参考,“,”变体仅适用于接受多个参数的方法。

于 2009-09-29T08:16:14.597 回答
2

“。” 连接,“,”只能用于echo语言构造(某种函数)

另请参阅:句号和逗号之间的区别?

于 2009-09-29T08:16:52.113 回答
1

使用逗号实际上并不连接字符串。

请参阅另一个问题的答案。

于 2009-09-29T08:18:25.777 回答
1

The "." is the correct concatenate operator. "echo" also accepts ",", treating it as if you are passing in a series of arguments to the "echo" method and then echoing each one. It's not truly concatenating the strings.

于 2009-09-29T08:18:49.910 回答
0

不,这是因为echo可能需要一个以上的参数,它会打印每个参数

于 2009-09-29T08:17:23.363 回答