Ответ 1
Он отличает "3dollars" как число, получая $a = 3
.
Когда вы эхо, вы добавляете 20, $a
, поэтому он печатает 23
и $a = 23
.
Затем, когда вы печатаете, вы снова добавляете 20, поэтому теперь $a = 43
.
$a = "3dollars";
$b = 20;
echo $a += $b;
print($a += $b);
Результат:
23 43
У меня вопрос из этого вычисления. $a - строка, а $b - число. Я добавляю оба и печатаю, используя эхо-печать 23 и печатаю с помощью возврата печати 43. Как это
Он отличает "3dollars" как число, получая $a = 3
.
Когда вы эхо, вы добавляете 20, $a
, поэтому он печатает 23
и $a = 23
.
Затем, когда вы печатаете, вы снова добавляете 20, поэтому теперь $a = 43
.
Правильный способ добавления (что является технически конкатенацией) строк
$a = 7;
$b = "3 dollars";
print ($a . $b); // 73 dollars
Оператор +
в php автоматически преобразует строку в числа, что объясняет, почему ваш код выполнялся ариметовым, а не конкатенацией
Так как вы создали переменную для двух, она сохраняет результат каждого, поэтому, когда вы добавили $a до 20, он будет эхо 23, который хранится в системе, когда вы печатаете $a, который теперь составляет 23 до $b, которое равно 20. Вы получите 43.
PHP рассматривает "3dollars" как целое число 3, потому что строка начинается с целого числа и участвует в арифметической операции, поэтому
$a = "3dollars";
$b = 20;
echo $a += $b;
it echo 23; //$a=$a+$b;
now $a = 23 + 20;
print($a += $b); //$a=$a+$b;
it print 43;