我遇到了一群特殊的操作员,但他们不知道他们做什么,何时使用它们等等。我不确定是否有更多的特殊操作员。有人可以告诉我他们做了什么,何时使用它们,并举例说明我刚刚学习编码和PHP。
Special Operators
+=, *=, .=
答案 0 :(得分:3)
他们是捷径,基本上是
$var = $var + 1 same as $var += 1; (add 1 to var)
$var = $var * 2; same as $var *= 2; (multiple var by two)
$var = $var . 'blah'; same as $var .= 'blah'; (append 'blah' to var)
答案 1 :(得分:1)
+=
正在为您的变量添加另一个数字
$blah += 5; // $blah gets 5 added to it
*=
将另一个数字乘以您的变量
$blah += 5; // $blah gets multiplied by 5
.=
是一个连接运算符
$blah .= " Another string"; // $blah gets " Another string" added onto the end of it (or gets converted into a string if it isn't already one
答案 2 :(得分:1)
他们是其他事情的捷径:
$x = 1;
$x += 1; // this is the same as $x = $x + 1; $x is now 2.
$y = 3;
$y *= 4; // this is the same as $y = $y * 4; $y is now 12.
$s = "hello"
$s .= " world"; // this is the same as $s = $s . " world"
// i.e., string concatenation;
// $s is now "hello world"
答案 3 :(得分:0)
这些是复合赋值运算符。
在外行人看来,他们的意思如下:
$a += $b <=> $a = $a + $b
$a *= $b <=> $a = $a * $b
$a .= $b <=> $a = $a . $b
然而,这并不一定是如何实施的。 Eric Lippert有关于C#语言中类似运算符的博客条目,您可能会了解实现此类运算符可能遇到的问题。
答案 4 :(得分:0)
+=
是添加的简写。您可以写$i = $i + $j
而不是撰写$i += $j
。它会将$j
的值添加到$i
。
同样为*=
,但它是乘法。
.=
用于字符串连接,因此$str1 .= $str2
与$str1 = $str1 . $str2
相同。
答案 5 :(得分:0)
可能最好举个例子。这两段代码做同样的事情:
$a = 2
$a = $a + 2
和
$a = 2
$a += 2