2014-02-17 193 views
2

作为学习PHP的一部分,我被给出了这个问题。。=如何在这个代码中工作?

$ a的最终价值是多少?

$a .= "a"; 
$a .= "b"; 
$a .= "c"; 

我知道它输出“ABC”据我所知,“=”是连接赋值,但我还是有点不清楚什么是真正回事。当我删除期间我得到“C”,这是有道理的,它会采取最后一个项目。

感谢您的任何澄清。

+0

'$ a =“a”。 “b”。 “c”;' –

+0

。符连接。 。=允许你重新分配连接。所以$ a。=“b”;基本上是说一个等于一个,但也加“b” –

+0

点是一个[连接运算符](http://www.php.net/manual/en/language.operators.string.php)。阅读。 – poncha

回答

5
$a .= "a" 

...是简写......

$a = $a . "a" 

在开始的时候,$ a是空的。

$a .= "a" 
// now $a == "a" 
$a .= "b" 
// now $a == "a" . "b" == "ab" 
$a .= "c" 
// now $a == "ab" . "c" == "abc" 
+0

这是一个很好的描述。现在我懂了。谢谢一堆。 – justinae

3

是的,正是它连接在一起。以下两行相同。

$a = $a . "a" 
$a .= "a" 
1

当您在PHP中使用.=时,您几乎将字符串粘合为一个。

测试你的代码在这里粘贴:http://writecodeonline.com/php/

然后写另一条线路输出变量a

$a .= "a"; 
$a .= "b"; 
$a .= "c"; 
echo $a; 

变量a的最终结果的内容是​​因为“a” +“b”+“c”=“abc” - 连接!

因此,总之,请考虑以下内容:变量a只是一个容器...当我们使用赋值运算符(=)时,我们删除它在容器中的任何内容,并用我们指定的新值替换它,这就是为什么当你使用=时,最终结果是字符c。因为它不断更换原始内容。

当我们使用串联,.=我们继续APPEND,而不是取代它。

0
$a .= "a"; // $a =$a . 'a' ie a= 'a' 
$a .= "b"; // $a =$a . 'b' ie a= 'ab' 
$a .= "c"; // $a =$a . 'c' ie a= 'abc' 
1

当$ a未定义时,您不能使用$ a。=“a”。在这种情况下,您应该使用正确的PHP配置来获取“未定义变量”警告。尝试解决这个问题,以获得任何意想不到的价值;

相关问题