。=在这段代码中是怎么工作的?

时间:2014-02-17 19:19:57

标签: php

我被问到这个问题是学习PHP的一部分。

$ a的最终价值是什么?

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

我知道它输出“abc”,我知道“。=”是一个连接任务,但我仍然有点不清楚这里实际发生了什么。当我删除句点时,我得到“c”,这是有意义的,它将采取最后一项。

非常感谢。

5 个答案:

答案 0 :(得分: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"

答案 1 :(得分:3)

是的,确切地说,它是连贯的。以下两行是等效的。

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

答案 2 :(得分:1)

在PHP中使用.=时,实际上将字符串粘合在一起。

通过在此处粘贴代码来测试您的代码:http://writecodeonline.com/php/

然后写另一行以输出变量a

的内容
$a .= "a";
$a .= "b";
$a .= "c";
echo $a;

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

总而言之,请考虑以下内容:变量a只是一个容器...当我们使用赋值运算符(=)时,我们删除容器中的任何内容并将其替换为新值我们正在分配,这就是为什么当您使用=时,最终结果是字符c。因为它一直在替换原始内容。

当我们使用连接时,.=我们继续APPEND,而不是替换它。

答案 3 :(得分:1)

未定义$ a时,不能使用$ a。=“a”。在这种情况下,您应该使用正确的PHP配置获得“未定义变量”警告。尝试修复此问题以获得任何意外值;

答案 4 :(得分: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'