What are the differences between .= and += in PHP?
21
votes
6 Answers
31
votes
Quite simply, "+=" is a numeric operator and ".=" is a string operator. Consider this example:
$a = 'this is a ';
$a += 'test';
This is like writing:
$a = 'this' + 'test';
The "+" or "+=" operator first converts the values to integers (and all strings evaluate to zero when cast to ints) and then adds them, so you get 0.
If you do this:
$a = 10;
$a .= 5;
This is the same as writing:
$a = 10 . 5;
Since the "." operator is a string operator, it first converts the values to strings; and since "." means "concatenate," the result is the string "105".
10
votes
2
votes