2014-06-12 24 views
0
<?php 

$a="hello bro"; 
$b="how are u"; 

echo "$a,$b.<br/>"; 
echo $a,$b; 

?> 

阅读逗号为什么不读逗号(,)在第二个声明回声结构为什么不能在PHP没有双引号

输出你好兄弟,怎么是U 你好brohow是U

我问题是为什么不用逗号分隔(,)。请给我答案。

+0

您需要将字符串与变量连接起来使用'.' –

+1

逗号','是PHP中的一个参数分隔符:所以它不会显示在回显语句中,除非它在引用字符串内 –

+0

它看起来像'echo'命令可以接受多个参数,并将它们连接起来。所以它不是以字符串的形式读取逗号,而是将它解析为参数分隔符。 – Obversity

回答

0

您需要使用变量使用.

echo $a.','.$b; 
+0

@ Mr.Alien谢谢你现在好吗? –

+0

非常不错.. –

+0

逗号可以完美地用于回声,只需要在引号之外。无需使用点必然 –

0
echo $a,$b; 

将被视为

echo $a; 
echo $b ; 

来串联逗号,所以你可能需要

echo $a,',',$b; 

echo $a.','.$b; 
0

在第一个echo语句中,逗号是字符串的一部分,当双引号字符串被解析时,变量被注入到字符串中。这对于单引号不会发生,因为对于单引号字符串没有额外的解析。单引号的好处在于,如果您正在处理大量字符串,单引号将运行得更快,因为它们没有额外的解析规则。

那么,为什么第二个陈述不起作用?那么,在第二个语句中,逗号被解析为多参数分隔符。 echo构造允许多个参数,每个参数都将被输出(注意:print构造不会带多个参数)。这种情况下的逗号是语法而不是输出。如果你想使用逗号语法来实现相同的输出,你会得到回波语句中使用多个参数比使用更快的需要

<?php 
echo $a,',',$b; 
?> 

,或者使用串联

<?php 
echo $a.','.$b; 
?> 

一般的音符,在我的经验串联,尤其是在连接两个以上的值时。