Combined Assignment
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 18 de 71.
Quando você precisar atualizar uma variável com base em seu valor atual, o PHP oferece uma forma abreviada chamada operadores de atribuição combinados. Em vez de escrever o nome da variável duas vezes, você pode combinar a operação com a atribuição.
Por exemplo, para adicionar 10 a uma variável:
<?php
$score = 50;
$score = $score + 10; // A forma longa
$score += 10; // A forma abreviada
?>Ambas as linhas fazem a mesma coisa, mas += é mais curto e mais limpo. Esse padrão funciona com todos os operadores aritméticos:
| Operador | Exemplo | Equivalente a |
+= | $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 agora é 75
$balance *= 2; // $balance agora é 150
echo $balance; // Saída: 150
?>Desafio
FácilLeia dois números da entrada: um valor inicial e um valor de ajuste.
Armazene o valor inicial em uma variável chamada $total. Em seguida, execute as seguintes operações usando operadores de atribuição combinados:
- Adicione o valor de ajuste a
$total - Multiplique
$totalpor 3 - Subtraia 10 de
$total
Imprima o valor final de $total.
Exemplo:
Se as entradas forem 20 e 5, a saída deve ser 65 porque:
- Comece com 20, adicione 5 → 25
- Multiplique por 3 → 75
- Subtraia 10 → 65
Folha de consulta
O PHP fornece operadores de atribuição combinados como forma abreviada para atualizar uma variável com base em seu valor atual:
| Operador | Exemplo | Equivalente a |
+= | $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; // Adiciona 10 ao $score
$score -= 5; // Subtrai 5 do $score
$score *= 2; // Multiplica $score por 2
?>Experimente você mesmo
<?php
// Ler entrada
$startingValue = intval(fgets(STDIN));
$adjustmentAmount = intval(fgets(STDIN));
// Armazenar o valor inicial em $total
$total = $startingValue;
// TODO: Escreva seu código abaixo
// Use operadores de atribuição combinados para:
// 1. Adicionar o valor de ajuste a $total
// 2. Multiplicar $total por 3
// 3. Subtrair 10 de $total
// Exibir o resultado
echo $total;
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
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