php Инкремент и декремент, префикс и постфикс в чем разница, пример кода. Хольцнер стр. 46
Primary tabs
Сам пример со стр. 46:
<HTML> <HEAD> <TITLE>Инкремент и декремент</TITLE> </HEAD> <BODY> <H1>Инкремент и декремент</H1> <?php $a = $b = $c = $d = 1; // изначально каждая переменная == 1 echo "\$a++ = ", $a++, "<BR>"; // теперь $a == 2 echo "++\$b =", ++$b, "<BR>"; // теперь $b == 2 echo "\$c-- = ", $c--, "<BR>"; // теперь $c == 0 echo "--\$d =", --$d, "<BR>"; // теперь $d == 0 ?> </BODY> </HTML>
-- итак к концу выполнения соответствующей строки первые две переменные = 2, а вторые две уменьшаются на нуля, тем не менее на экране (запустите код, он рабочий), мы получим:
Инкремент и декремент $a++ = 1 ++$b =2 $c-- = 1 --$d =0
Почему значения различны, дело в том, что префиксные операции, "сначала меняют, а потом возвращают значение", постфиксные же сначала возвращают (то что было), а потом меняют.
Чтобы проверить себя убедитесь, что вы понимаете почему пример:
$a = $b = 1; echo $a++, ' ', $a, ' ', $a++, ' ', $a, ' ', '<br>'; echo ++$b, ' ', $b, ' ', ++$b, ' ', $b, ' ', '<br>';
выводит именно то, что он выводит -- запустите, тут мы то инкрементируем (префиксно или постфисно), то просто выводим то, что есть к данному момент.
- Log in to post comments
- 2760 reads