PHP, аналогично C, поддерживает префиксные и постфиксные
операторы инкремента и декремента.
Таблица 15-5. Операторы инкремента и декремента
Пример | Название | Действие |
---|
++$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 ). Следует учесть, что к символьным переменным
можно применять операцию инкремента, в то время как операцию декремента применять
нельзя.
Пример 15-2. Арифметические операции с символьными переменными
<?php $i = 'W'; for($n=0; $n<6; $n++) echo ++$i . "\n";
/* Результат работы будет следующий:
X Y Z AA AB AC
*/ ?>
|
|
Инкрементирование или декрементирование булевых переменных
не приводит ни к какому результату.