Проще говоря, "+ =" является числовым оператором, а ". =" Является строковым оператором. Рассмотрим этот пример:
$a = 'this is a ';
$a += 'test';
Это похоже на запись:
$a = 'this' + 'test';
Оператор "+" или "+ =" сначала преобразовывает значения в целые числа (и все строки оцениваются в ноль при приведении к целым числам), а затем добавляет их, так что вы получаете 0.
Если вы сделаете это:
$a = 10;
$a .= 5;
Это то же самое, что написать:
$a = 10 . 5;
С "." operator - строковый оператор, он сначала преобразует значения в строки; и с тех пор "." означает «конкатенация», результатом является строка «105».