Precedencia de operadores
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 20 de 71.
Cuando una expresión contiene varios operadores, PHP sigue un orden específico llamado precedencia de operadores. Al igual que en matemáticas, la multiplicación y la división se realizan antes que la suma y la resta.
<?php
echo 5 + 3 * 2; // Imprime: 11, no 16
?>PHP multiplica 3 × 2 primero (obteniendo 6), después suma 5. Si los operadores tuvieran la misma prioridad, calcularía de izquierda a derecha: 5 + 3 = 8, después 8 × 2 = 16. Pero no funciona así.
Esta es la precedencia, de mayor a menor, de los operadores que has aprendido:
| Prioridad | Operadores |
| Mayor | ** (exponenciación) |
| Alta | * / % |
| Baja | + - |
Para anular el orden predeterminado, usa paréntesis. Las operaciones dentro de los paréntesis siempre se evalúan primero:
<?php
echo (5 + 3) * 2; // Salida: 16
echo 2 ** 3 * 2; // Salida: 16 (8 * 2)
echo 2 ** (3 * 2); // Salida: 64 (2^6)
?>En caso de duda, usa paréntesis para dejar claras tus intenciones. Esto hace que tu código sea más fácil de leer y evita resultados inesperados.
Desafío
FácilLee tres números de la entrada: a, b y c.
Calcula e imprime el resultado de la siguiente expresión, usando paréntesis para asegurarte de que la suma se realice antes que la multiplicación:
(a + b) * c ** 2
Esto significa: primero suma a y b, después multiplica esa suma por c elevado a la potencia de 2.
Ejemplo:
Si las entradas son 2, 3 y 4, la salida debe ser 80 porque:
- Primero, suma 2 + 3 = 5
- Después, calcula 4 ** 2 = 16
- Finalmente, multiplica 5 * 16 = 80
Pruébalo tú mismo
<?php
// Leer la entrada
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));
// TODO: Escribe tu código debajo para calcular (a + b) * c ** 2
// Mostrar el resultado
echo $result;
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online