назначение переменных — допустимость и использование = + в переполнении стека

Возьмите этот пример:

<?php

$i = 1;
$i += 2;
$i =+ 5;

echo $i; // 5

Это показывает, что =+ является оператором присваивания Тем не менее, это очень смущает меня и вовсе не семантическое. Я часами отлаживал что-то просто потому, что случайно использовал =+ вместо +=, Первый не бросает ошибки, хотя. Так что мне любопытно: каков вариант использования для =+, Когда бы вы когда-либо (нужно) использовать его над простым =?

-1

Решение

=+ не один оператор. Его два: назначение (=) и унарный плюс (+).

Если вы вставите другой пробел, это станет очевидным:

$i = +5;

Унарный плюс в PHP используется для конвертации $i в int или же float по мере необходимости. поскольку 5 уже является INT, его идентичность в этом случае и все выражение семантически эквивалентно:

 $i = 5;
0

Другие решения

=+ не оператор. Думайте об этом как

$i = +5;

в отличие от

$i = -5;
3

Как вы упомянули +знак равно оператор присваивания является правильным

В твоем случае:

$i = 1;

Просто присвойте значение 1 $i а затем, когда ваша вторая строка выполняется $i += 2;, просто добавьте значение 2 с существующим значением $i,

Так что теперь, когда вы используете $i =+ 5; в вашей третьей строке, его переназначить переменная $i с положительным значением +5.

Там нет ничего сложного с = + а также +знак равно это разные.

0
По вопросам рекламы [email protected]