Se utilizan para realizar operaciones matemáticas básicas.
<?php
$a = 10;
$b = 3;
echo "Suma: " . ($a + $b) . "<br>";
echo "Resta: " . ($a - $b) . "<br>";
echo "Multiplicación: " . ($a * $b) . "<br>";
echo "División: " . ($a / $b) . "<br>";
echo "Módulo: " . ($a % $b) . "<br>";
echo "Potencia: " . ($a ** $b) . "<br>";
?>
Resultado:
Se usan para asignar valores a variables.
Operador | Ejemplo | Equivalente a |
---|---|---|
= | $x = 5 | $x = 5 |
+= | $x += 3 | $x = $x + 3 |
-= | $x -= 3 | $x = $x - 3 |
*= | $x *= 3 | $x = $x * 3 |
/= | $x /= 3 | $x = $x / 3 |
%= | $x %= 3 | $x = $x % 3 |
<?php
$x = 5;
$x += 3;
echo "Valor final de x: $x"; // Resultado: 8
?>
Resultado:
Comparan dos valores y devuelven verdadero o falso.
Operador | Nombre | Ejemplo | Resultado |
---|---|---|---|
== | Igual | $a == $b | TRUE si $a es igual a $b |
=== | Idéntico | $a === $b | TRUE si $a es igual a $b, y son del mismo tipo |
!= | Diferente | $a != $b | TRUE si $a no es igual a $b |
!== | No idéntico | $a !== $b | TRUE si $a no es igual a $b o no son del mismo tipo |
> | Mayor que | $a > $b | TRUE si $a es mayor que $b |
< | Menor que | $a < $b | TRUE si $a es menor que $b |
<?php
$a = 10;
$b = 20;
echo ($a == $b ? "Iguales" : "Diferentes"); // Diferentes
?>
Se utilizan para incrementar o decrementar el valor de una variable.
Operador | Descripción |
---|---|
++$x | Pre-incremento: Incrementa $x en uno, luego devuelve $x |
$x++ | Post-incremento: Devuelve $x, luego incrementa $x en uno |
--$x | Pre-decremento: Decrementa $x en uno, luego devuelve $x |
$x-- | Post-decremento: Devuelve $x, luego decrementa $x en uno |
<?php
$x = 5;
// Pre-incremento
echo ++$x; // 6
// Post-incremento
echo $x++; // 6
// Pre-decremento
echo --$x; // 6
// Post-decremento
echo $x--; // 6
?>
Se utilizan para combinar declaraciones condicionales.
Operador | Nombre | Ejemplo |
---|---|---|
and | Y lógico | ($x and $y) |
or | O lógico | ($x or $y) |
xor | O exclusivo | ($x xor $y) |
! | No lógico | !$x |
&& | Y lógico | ($x && $y) |
|| | O lógico | ($x || $y) |
<?php
$x = true;
$y = false;
// Operador AND
var_dump($x and $y); // false
// Operador OR
var_dump($x or $y); // true
// Operador XOR
var_dump($x xor $y); // true
// Operador NOT
var_dump(!$x); // false
?>
Se utilizan para concatenar cadenas de texto.
Operador | Descripción | Ejemplo |
---|---|---|
. | Concatenación | $txt1 . $txt2 |
.= | Concatenación y asignación | $txt1 .= $txt2 |
<?php
$txt1 = "Hola";
$txt2 = " Mundo";
// Concatenación
echo $txt1 . $txt2; // Hola Mundo
// Concatenación y asignación
$txt1 .= $txt2;
echo $txt1; // Hola Mundo
?>
Se utilizan para comparar y manipular matrices.
Operador | Descripción | Ejemplo |
---|---|---|
+ | Unión | $x + $y |
== | Igualdad | $x == $y |
=== | Identidad | $x === $y |
!= | Diferente | $x != $y |
!== | No idéntico | $x !== $y |
<?php
$x = ["a" => 1, "b" => 2];
$y = ["c" => 3, "d" => 4];
// Unión
$z = $x + $y;
print_r($z); // ["a" => 1, "b" => 2, "c" => 3, "d" => 4]
?>
Se utilizan para asignar valores basados en una condición.
Operador | Descripción | Ejemplo |
---|---|---|
?: | Operador ternario | $x = ($a > $b) ? $a : $b |
?? | Fusión de null | $x = $a ?? $b |
<?php
$a = 10;
$b = 20;
// Operador ternario
$x = ($a > $b) ? $a : $b;
echo $x; // 20
// Fusión de null
$y = null;
$z = $y ?? "Valor por defecto";
echo $z; // Valor por defecto
?>
Completa este ejercicio para poner en práctica lo aprendido sobre operadores en PHP. Intenta resolver cada paso antes de revisar la solución.
Vamos a crear una mini-calculadora que utilice diferentes tipos de operadores. La calculadora debe:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mini Calculadora PHP</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<h2>Mini Calculadora PHP</h2>
<form method="post" action="" class="mb-4">
<div class="row mb-3">
<div class="col-md-5">
<input type="number" name="num1" class="form-control" placeholder="Primer número"
value="<?php echo isset($_POST['num1']) ? $_POST['num1'] : ''; ?>" required>
</div>
<div class="col-md-2 text-center">
<select name="operacion" class="form-select">
<option value="suma">+</option>
<option value="resta">-</option>
<option value="multiplicacion">×</option>
<option value="division">÷</option>
<option value="modulo">%</option>
<option value="comparacion">==</option>
</select>
</div>
<div class="col-md-5">
<input type="number" name="num2" class="form-control" placeholder="Segundo número"
value="<?php echo isset($_POST['num2']) ? $_POST['num2'] : ''; ?>" required>
</div>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary">Calcular</button>
</div>
</form>
<div class="card">
<div class="card-header">Resultado</div>
<div class="card-body">
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Obtener valores
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
$operacion = $_POST['operacion'];
// Realizar cálculos según la operación seleccionada
switch($operacion) {
case 'suma':
$resultado = $num1 + $num2;
echo "Suma: $num1 + $num2 = $resultado";
break;
case 'resta':
// Tu código aquí
$resultado = $num1 - $num2;
echo "Resta: $num1 - $num2 = $resultado";
break;
case 'multiplicacion':
// Tu código aquí
$resultado = $num1 * $num2;
echo "Multiplicación: $num1 × $num2 = $resultado";
break;
case 'division':
// Tu código aquí (¡recuerda verificar división por cero!)
if ($num2 != 0) {
$resultado = $num1 / $num2;
echo "División: $num1 ÷ $num2 = $resultado";
} else {
echo "<div class='alert alert-danger'>Error: No se puede dividir por cero</div>";
}
break;
case 'modulo':
// Tu código aquí
if ($num2 != 0) {
$resultado = $num1 % $num2;
echo "Módulo: $num1 % $num2 = $resultado";
} else {
echo "<div class='alert alert-danger'>Error: No se puede calcular módulo con cero</div>";
}
break;
case 'comparacion':
// Tu código aquí - Muestra resultados de comparación con == y ===
echo "<h5>Resultados de comparación:</h5>";
echo "<ul>";
echo "<li>$num1 == $num2: " . ($num1 == $num2 ? "Verdadero" : "Falso") . "</li>";
echo "<li>$num1 === $num2: " . ($num1 === $num2 ? "Verdadero" : "Falso") . "</li>";
echo "<li>$num1 != $num2: " . ($num1 != $num2 ? "Verdadero" : "Falso") . "</li>";
echo "<li>$num1 > $num2: " . ($num1 > $num2 ? "Verdadero" : "Falso") . "</li>";
echo "<li>$num1 < $num2: " . ($num1 < $num2 ? "Verdadero" : "Falso") . "</li>";
echo "</ul>";
break;
}
// Sección adicional - Operadores Lógicos
echo "<hr>";
echo "<h5>Evaluación con operadores lógicos:</h5>";
$esPar1 = ($num1 % 2 == 0);
$esPar2 = ($num2 % 2 == 0);
echo "<ul>";
echo "<li>¿$num1 es par? " . ($esPar1 ? "Sí" : "No") . "</li>";
echo "<li>¿$num2 es par? " . ($esPar2 ? "Sí" : "No") . "</li>";
echo "<li>¿Ambos números son pares? " . ($esPar1 && $esPar2 ? "Sí" : "No") . "</li>";
echo "<li>¿Al menos uno es par? " . ($esPar1 || $esPar2 ? "Sí" : "No") . "</li>";
echo "</ul>";
}
?>
</div>
</div>
<div class="alert alert-warning mt-4">
<strong>Nota:</strong> Esta calculadora es un ejemplo educativo. Para probar este código, necesitas un servidor con PHP habilitado.
</div>
</div>
</body>
</html>
La solución ya está completa en el código proporcionado, pero vamos a explicar las partes clave:
Se utilizan en los casos 'suma', 'resta', 'multiplicacion', 'division' y 'modulo' para realizar cálculos básicos entre los dos números.
Se utilizan en el caso 'comparacion' para comparar los dos números usando operadores como ==, ===, !=, >, <.
Se utilizan en la sección adicional para evaluar si los números son pares y aplicar los operadores && (AND) y || (OR).
Se utilizan en todo el código para asignar valores a variables como $resultado = $num1 + $num2.
Intenta expandir la calculadora con las siguientes funcionalidades:
Estas mejoras te ayudarán a practicar y profundizar en el uso de los diferentes tipos de operadores en PHP.