Combined Assignment
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 18 de 71.
Cuando necesites actualizar una variable basada en su valor actual, PHP ofrece una forma abreviada llamada operadores de asignación combinados. En lugar de escribir el nombre de la variable dos veces, puedes combinar la operación con la asignación.
Por ejemplo, para sumar 10 a una variable:
<?php
$score = 50;
$score = $score + 10; // La forma larga
$score += 10; // La forma abreviada
?>Ambas líneas hacen lo mismo, pero += es más corto y limpio. Este patrón funciona con todos los operadores aritméticos:
| Operador | Ejemplo | 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 ahora es 75
$balance *= 2; // $balance ahora es 150
echo $balance; // Salida: 150
?>Desafío
FácilLee dos números de la entrada: un valor inicial y una cantidad de ajuste.
Almacena el valor inicial en una variable llamada $total. Luego realiza las siguientes operaciones usando operadores de asignación combinados:
- Suma la cantidad de ajuste a
$total - Multiplica
$totalpor 3 - Resta 10 de
$total
Imprime el valor final de $total.
Ejemplo:
Si las entradas son 20 y 5, la salida debería ser 65 porque:
- Comienza con 20, suma 5 → 25
- Multiplica por 3 → 75
- Resta 10 → 65
Hoja de referencia
PHP proporciona operadores de asignación combinados como abreviatura para actualizar una variable basada en su valor actual:
| Operador | Ejemplo | 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; // Add 10 to $score
$score -= 5; // Subtract 5 from $score
$score *= 2; // Multiply $score by 2
?>Pruébalo tú mismo
<?php
// Leer entrada
$startingValue = intval(fgets(STDIN));
$adjustmentAmount = intval(fgets(STDIN));
// Almacenar el valor inicial en $total
$total = $startingValue;
// TODO: Escribe tu código a continuación
// Usa operadores de asignación combinados para:
// 1. Sumar la cantidad de ajuste a $total
// 2. Multiplicar $total por 3
// 3. Restar 10 de $total
// Mostrar el resultado
echo $total;
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones 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