我最近注意到有两种方法可以在PHP中打印多个语句。
echo $a.$b; // Echo's $a and $b conjoined, and
echo $a,$b; // Echo's $a and echo's $b.
这两种语法之间的区别是否重要?
答案 0 :(得分:6)
实际上,没有。
echo $a.$b
首先将$a
和$b
连接到新字符串,然后将其作为参数传递给echo
,然后将其打印出来
echo $a,$b
为<{1}}提供了两个参数,这两个参数将打印出来。
后者效率稍高。不过你通常会注意到的任何方式。
评估方式有所不同。 echo
就像写echo $a, $b
,两个单独的电话。 echo $a; echo $b;
为$b
后,我会对$a
进行评估。如果你的参数是函数调用本身echo
,那么可以有所不同,但实际上这应该是无关紧要的,因为这是不好的做法。
答案 1 :(得分:6)
有一点值得注意。使用第二个synthax,即使第二个参数导致错误,第一个参数仍会输出。
<?php
echo 1, error(); // This outputs 1, then it displays an error
?>
虽然第一部分不会回应第一部分。
<?php
echo '1' . error(); // Only displays an error
?>
当您使用逗号分隔参数时,它将一个接一个地回显它们。当你使用点运算符时,它会将它们连接成一个字符串然后它将回显它。
答案 2 :(得分:4)
在绝大多数情况下,差异并不重要。
如果你要连接在一起的东西特别大,那么可能可能,连接可能会慢一些,并且可能会占用更多内存。然而,专注于微优化通常是加快速度的最糟糕方式。
答案 3 :(得分:1)
编程:
将2个字符串连接成1个变量,并将字符串表示形式发送到输出缓冲区。
循环2个变量并将字符串表示发送到输出缓冲区。
两种不同的方法可以产生类似的结果。如果将这些实现乘以一个重要数字,您会看到一些差异。
答案 4 :(得分:0)