PHP特殊运营商

时间:2011-04-18 21:10:04

标签: php operators

我遇到了一群特殊的操作员,但他们不知道他们做什么,何时使用它们等等。我不确定是否有更多的特殊操作员。有人可以告诉我他们做了什么,何时使用它们,并举例说明我刚刚学习编码和PHP。

Special Operators
+=, *=, .=

6 个答案:

答案 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