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

Материал из Викиреальностя
Перейти к: навигация, поиск

Операторы инкремента и декремента — операторы PHP, аналогичные таковым в Си. Поддерживают префиксные и постфиксные операторы инкремента и декремента.

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

Содержание

[править] Постфиксные операторы инкремента и декремента

Данные операторы предназначены для увеличения или уменьшения значения переменной, а в выражении возвращают значение переменной $a не изменяя её. Например:

<? 
$a=10;
$b=$a++;
echo "a=$a, b=$b"; // Выводит a=11, b=10
?>

Обратите внимание, что переменная $b приняла значение $a без изменений. А переменная $a была инкрементирована. Впрочем, выражение, значение которого присваивается переменной $b, может быть и сложнее — в любом случае, инкремент $a произойдет только после его вычисления. Такие операции называют постфиксными операциями инкремента.

[править] Префиксные операторы инкремента и декремента

Префиксные операторы инкремента и декремента указываются до имени переменной, а не после. Соответственно и возвращают они значение уже изменённой переменной Например:

<? 
$a=10;
$b=--$a;
echo "a=$a, b=$b"; // Выводит a=9, b=9
?>

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

[править] Где используется

Операции инкремента и декремента на практике применяются очень часто. Например, они встречаются практически в любом цикле for.

<?php
echo "

Постфиксный инкремент

";
$a = 5;
echo "Должно быть 5: " . $a++ . "
\n"; echo "Должно быть 6: " . $a . "
\n";
echo "

Префиксный инкремент

";
$a = 5;
echo "Должно быть 6: " . ++$a . "
\n"; echo "Должно быть 6: " . $a . "
\n";
echo "

Постфиксный декремент

";
$a = 5;
echo "Должно быть 5: " . $a-- . "
\n"; echo "Должно быть 4: " . $a . "
\n";
echo "

Префиксный декремент

";
$a = 5;
echo "Должно быть 4: " . --$a . "
\n"; echo "Должно быть 4: " . $a . "
\n"; ?>

[править] Операции с символьными переменными

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

/*
  Результат работы будет следующий:

X
Y
Z
AA
AB
AC

*/
?>

[править] Ссылки

Операторы инкремента и декремента в PHP относится к теме «PHP»   ±