我刚刚发现了一些东西。
echo $var1 , " and " , $var2;
是相同的:
echo $var1 . " and " . $var2;
php中实际的字符串连接运算符是什么?我应该使用.
还是,
?
我刚刚发现了一些东西。
echo $var1 , " and " , $var2;
是相同的:
echo $var1 . " and " . $var2;
php中实际的字符串连接运算符是什么?我应该使用.
还是,
?
.
运算符是连接运算符。您的第一个示例仅有效,因为 echo 'function' (从技术上讲,它是一种语言结构,但不允许分裂头发)接受多个参数,并将打印每个参数。
因此,您的第一个示例是使用多个参数调用 echo,并且它们都被打印,而第二个示例是所有字符串都被连接并且正在打印一个大字符串。
实际的串联是.
(句点)。在那里使用,
(逗号),您将多个参数传递给echo
函数。(实际上,echo
它不是一个函数,而是一个 PHP 语言结构,这意味着您可以省略实际函数调用所需的参数列表周围的括号。)
在第一种情况下,您只需回显 3 个不同的字符串。
在第二种情况下,您连接 3 个字符串,然后回显输出。
所以答案是,为了连接字符串,你应该使用点 (.)
“。”。另一个只是独立写入几个值,而不实际连接字符串。
另请参阅PHP 回显参考,“,”变体仅适用于接受多个参数的方法。
“。” 连接,“,”只能用于echo
语言构造(某种函数)
另请参阅:句号和逗号之间的区别?
使用逗号实际上并不连接字符串。
请参阅另一个问题的答案。
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.
不,这是因为echo可能需要一个以上的参数,它会打印每个参数