菜鸟不懂,为什么输出两个结果?

菜鸟不懂,为什么输出两个结果?

代码如下:

<?php
$a="abc";
$b="def";
global $c;
        $c.= "<b>output</b>:  $a<br>";
        $c.= "<b>output</b>:  $b<br>";//注意这边用的是赋值运算符的.=
        echo $c;
?>

输出如下:
output: abc
output: def

请问为什么会输出两个结果?

只有一个结果<b>output</b>:  abc<br><b>output</b>:  def<br>
你看有2个是看他换行了吧。
菜鸟在此一游。

同意楼上。
如履薄冰

引用:
原帖由 zxc159 于 2009-8-3 00:19 发表
只有一个结果output:  abcoutput:  def
你看有2个是看他换行了吧。
可是我执行的是:
echo $c;

怎么会把变量$a和$b的值都输出了?

上面的:
$c.= "<b>output</b>:  $a<br>";
$c.= "<b>output</b>:  $b<br>";
中第二个语句不是会把第一个语句中$c给替换了?

用的是.= 而不是=        .=把两个相加了

引用:
原帖由 小哈迪斯 于 2009-8-3 15:02 发表
用的是.= 而不是=        .=把两个相加了
能不能说下执行的过程啊?实在是不懂啊

假设
$c 为"";
$c.= "<b>output</b>:  $a<br>";
之后 $c 为"<b>output</b>:  $a<br>";

$c.= "<b>output</b>:  $b<br>";
之后 $c 为"<b>output</b>:  $a<br><b>output</b>:  $b<br>";
如履薄冰

$c .= "a";和
$c = $c."a"; 是一样的
如履薄冰

恩,就是把两个字符串相加了,同意楼上的

引用:
原帖由 我不是鱼 于 2009-8-3 17:08 发表
$c .= "a";和
$c = $c."a"; 是一样的
谢谢你,我懂了