我被问到这个问题是学习PHP的一部分。
$ a的最终价值是什么?
$a .= "a";
$a .= "b";
$a .= "c";
我知道它输出“abc”,我知道“。=”是一个连接任务,但我仍然有点不清楚这里实际发生了什么。当我删除句点时,我得到“c”,这是有意义的,它将采取最后一项。
非常感谢。
答案 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'