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
- 3335 reads