Изменение поведения при увеличении значения

#php

#php

Вопрос:

Вот мой код

 $f1  = 1;
$f2  =   $f1;
$f3  =   $f2;
$f4  =   $f3;

echo  $f1 . '<br />'.$f2.'<br />'.$f3.'<br />' .$f4. '<br />';
  

Вывод:

 2
3
4
4
  

Я ожидал, что значение $ f4 будет равно 5, но оно равно 4.
Чего мне не хватает?

Комментарии:

1. 4 правильно, вы не используете $ f4.

2. в последней строке вы на самом деле говорите: возьмите значение $ f3 (которое равно 3), увеличьте на единицу ($ f3 становится 4) и присвоите $ f4 (которое станет 4)

Ответ №1:

 $f1  = 1;
  

Присваивает 1 $f1 .

 $f2  =   $f1;
  

Предварительные приращения $f1 . Итак, теперь оно равно 2. И это присваивается $f2 . Оба $f1 и $f2 на данный момент являются 2 .

 $f3  =   $f2;
  

Предварительные приращения $f2 . Итак, теперь оно равно 3. И это присваивается $f3 . Оба $f2 и $f3 на данный момент являются 3 .

 $f4  =   $f3;
  

Предварительные приращения $f4 . Итак, теперь это 4. И это присваивается $f4 . Оба $f3 и $f4 на данный момент являются 4 .

Ответ №2:

Оператор фактически увеличивает переменную. То, что вы хотите, это $fn 1;

В последнем случае $ f3 содержит 3, увеличивается до 4, а 4 присваивается $ f4.

 $f1 = 1;
$f2  =   $f1; //both $f1 and $f2 = 2
$f3  =   $f2; //both = 3
$f4  =   $f3; //both = 4
  

Ответ №3:

Это вполне логично, следуйте по

$f1 = 1; Число 1 присваивается $ f1, здесь ничего особенного

$ f2 = $ f1; Вы предварительно увеличиваете $ f1, так что получается $ f1 = 2. Затем это значение присваивается $ f2. Итак, $ f = 2 также

$ f3 = $ f2; Здесь вы предварительно увеличиваете $ f2, так что $ f2 становится ‘3’, а затем присваиваете это значение $ f3. Итак, $ f3 = 3

$ f4 = $ f3; Затем вы предварительно увеличиваете $ f3. Поскольку это было ‘3’, теперь оно становится ‘4’. И затем этому значению присваивается значение $ f4, которое также становится ‘4’. Таким образом, это оставляет вас с

2
3
4
4

Ответ №4:

$f1 является 1 ; вы предварительно увеличиваете его и присваиваете 2 $f2 . То же самое для 3 и $f3 , 4 и $f4 . Значения полностью совпадают с числом.

Или, другим способом: вы начинаете с 1 . У вас есть три операции увеличения. Таким образом, конечный результат должен быть 4 .