Операторы
PHP Manual

Операторы инкремента и декремента

PHP поддерживает префиксные и постфиксные операторы инкремента и декремента в стиле C.

Замечание: Операторы инкремента/декремента не влияют на булевые значения. Декремент NULL также не даст никакого эффекта, однако инкремент даст значение 1.

Операторы инкремента и декремента
Пример Название Действие
++$a Префиксный инкремент Увеличивает $a на единицу и возвращает значение $a.
$a++ Постфиксный инкремент Возвращает значение $a, а затем увеличивает $a на единицу.
--$a Префиксный декремент Уменьшает $a на единицу и возвращает значение $a.
$a-- Постфиксный декремент Возвращает значение $a, а затем уменьшает $a на единицу.

Приведем пример простого скрипта:

<?php
echo "<h3>Постфиксный инкремент</h3>";
$a 5;
echo 
"Должно быть 5: " $a++ . "<br />\n";
echo 
"Должно быть 6: " $a "<br />\n";

echo 
"<h3>Префиксный инкремент</h3>";
$a 5;
echo 
"Должно быть 6: " . ++$a "<br />\n";
echo 
"Должно быть 6: " $a "<br />\n";

echo 
"<h3>Постфиксный декремент</h3>";
$a 5;
echo 
"Должно быть 5: " $a-- . "<br />\n";
echo 
"Должно быть 4: " $a "<br />\n";

echo 
"<h3>Префиксный декремент</h3>";
$a 5;
echo 
"Должно быть 4: " . --$a "<br />\n";
echo 
"Должно быть 4: " $a "<br />\n";
?>

PHP следует соглашениям Perl (в отличие от С) касательно выполнения арифметических операций с символьными переменными. Например, в Perl 'Z'+1 будет вычислено как 'AA', в то время как в C 'Z'+1 будет вычислено как '[' ( ord('Z') == 90, ord('[') == 91 ). Следует учесть, что к символьным переменным можно применять операцию инкремента, в то время как операцию декремента применять нельзя.

Пример #1 Арифметические операции с символьными переменными

<?php
$i 
'W';
for (
$n=0$n<6$n++) {
    echo ++
$i "\n";
}
?>

Результат выполнения данного примера:

X
Y
Z
AA
AB
AC

Инкрементирование или декрементирование булевых переменных не приводит ни к какому результату.


Операторы
PHP Manual