Increment/Decrement
Часть раздела Основы путешествия по PHP на Coddy — урок 19 из 71.
Когда вам нужно прибавить или вычесть ровно 1 к переменной, PHP предоставляет ещё более короткий способ, чем комбинированное присваивание: операторы increment и decrement.
Оператор инкремента (++) прибавляет 1 к переменной, в то время как оператор декремента (--) вычитает 1:
<?php
$count = 5;
$count++; // $count is now 6
$count--; // $count is now 5 again
?>Эти операторы можно размещать перед или после переменной, что влияет на момент изменения:
<?php
$a = 5;
echo $a++; // Выводит: 5, затем $a становится 6
echo $a; // Выводит: 6
$b = 5;
echo ++$b; // $b становится 6, затем выводит: 6
?>С $a++ (постинкремент), сначала используется исходное значение, затем оно увеличивается. С ++$b (преинкремент), значение сначала увеличивается, затем используется. Та же логика применяется к -- для декремента.
Задание
ЛегкоПрочитайте число из ввода и сохраните его в переменной с именем $counter.
Выполните следующие операции по порядку, выводя результат каждого оператора echo на новой строке:
- Выведите значение
$counter++(пост-инкремент) - Выведите текущее значение
$counter - Выведите значение
++$counter(пре-инкремент) - Декрементируйте
$counterс помощью--(вывод не нужен) - Выведите конечное значение
$counter
Пример:
Если ввод 10, вывод должен быть:
10
11
12
11Пояснение:
- Пост-инкремент выводит 10, затем
$counterстановится 11 - Текущее значение 11
- Пре-инкремент делает
$counter12, затем выводит 12 - Декремент делает
$counter11 - Конечное значение 11
Шпаргалка
Оператор инкремента (++) прибавляет 1 к переменной, в то время как оператор декремента (--) вычитает 1:
<?php
$count = 5;
$count++; // $count is now 6
$count--; // $count is now 5 again
?>Эти операторы могут быть размещены перед или после переменной:
- Пост-инкремент (
$a++): сначала использует исходное значение, затем увеличивает - Пре-инкремент (
++$a): сначала увеличивает, затем использует новое значение
<?php
$a = 5;
echo $a++; // Outputs: 5, then $a becomes 6
echo $a; // Outputs: 6
$b = 5;
echo ++$b; // $b becomes 6, then outputs: 6
?>Та же логика применяется к оператору декремента (--).
Попробуйте сами
<?php
// Чтение ввода
$counter = intval(fgets(STDIN));
// TODO: Напишите свой код ниже
// 1. Вывести значение $counter++ (пост-инкремент)
// 2. Вывести текущее значение $counter
// 3. Вывести значение ++$counter (пре-инкремент)
// 4. Уменьшить $counter с помощью -- (вывод не нужен)
// 5. Вывести конечное значение $counter
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators