Combined Assignment
Часть раздела Основы путешествия по PHP на Coddy — урок 18 из 71.
Когда вам нужно обновить переменную на основе её текущего значения, PHP предлагает сокращение под названием комбинированные операторы присваивания. Вместо того чтобы писать имя переменной дважды, вы можете объединить операцию с присваиванием.
Например, чтобы добавить 10 к переменной:
<?php
$score = 50;
$score = $score + 10; // The long way
$score += 10; // The shorthand way
?>Обе строки делают одно и то же, но += короче и чище. Этот шаблон работает со всеми арифметическими операторами:
| Оператор | Пример | Эквивалентно |
+= | $x += 5 | $x = $x + 5 |
-= | $x -= 3 | $x = $x - 3 |
*= | $x *= 2 | $x = $x * 2 |
/= | $x /= 4 | $x = $x / 4 |
%= | $x %= 3 | $x = $x % 3 |
**= | $x **= 2 | $x = $x ** 2 |
<?php
$balance = 100;
$balance -= 25; // $balance is now 75
$balance *= 2; // $balance is now 150
echo $balance; // Outputs: 150
?>Задание
ЛегкоПрочитайте два числа из ввода: начальное значение и сумму корректировки.
Сохраните начальное значение в переменной с именем $total. Затем выполните следующие операции с использованием комбинированных операторов присваивания:
- Добавьте сумму корректировки к
$total - Умножьте
$totalна 3 - Вычтите 10 из
$total
Выведите конечное значение $total.
Пример:
Если входные данные 20 и 5, вывод должен быть 65, потому что:
- Начните с 20, добавьте 5 → 25
- Умножьте на 3 → 75
- Вычтите 10 → 65
Шпаргалка
PHP предоставляет комбинированные операторы присваивания как сокращённую форму для обновления переменной на основе её текущего значения:
| Оператор | Пример | Эквивалентно |
+= | $x += 5 | $x = $x + 5 |
-= | $x -= 3 | $x = $x - 3 |
*= | $x *= 2 | $x = $x * 2 |
/= | $x /= 4 | $x = $x / 4 |
%= | $x %= 3 | $x = $x % 3 |
**= | $x **= 2 | $x = $x ** 2 |
<?php
$score = 50;
$score += 10; // Добавить 10 к $score
$score -= 5; // Вычесть 5 из $score
$score *= 2; // Умножить $score на 2
?>Попробуйте сами
<?php
// Считываем ввод
$startingValue = intval(fgets(STDIN));
$adjustmentAmount = intval(fgets(STDIN));
// Сохраняем начальное значение в $total
$total = $startingValue;
// TODO: Напишите свой код ниже
// Используйте составные операторы присваивания для:
// 1. Добавить величину корректировки к $total
// 2. Умножить $total на 3
// 3. Вычесть 10 из $total
// Вывести результат
echo $total;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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