Необходимо узнать, что выведется на экран
<?
$a = 15;
echo $a; // 15
echo $a++; // 15
echo ++$a-- + --$a++; // Parse error: syntax error, unexpected T_DEC, expecting ',' or ';'
?>
Вспомним, как работает инкремент и декремент:
<?
++$a Префиксный инкремент Увеличивает $a на единицу, затем возвращает значение $a.
$a++ Постфиксный инкремент Возвращает значение $a, затем увеличивает $a на единицу.
--$a Префиксный декремент Уменьшает $a на единицу, затем возвращает значение $a.
$a-- Постфиксный декремент Возвращает значение $a, затем уменьшает $a на единиц
?>
Ввиду чего, понимаем, почему во втором выводе выведется 15, а не 16.
Запись ++$a-- - сама по себе некорректна
<?
echo ++$a--; // Parse error: syntax error, unexpected T_STRING
?>
|