Operadores
## Objetivos de Aprendizaje
- Dominar los operadores aritméticos
- Comprender los operadores de comparación
- Trabajar con operadores lógicos
- Aprender el operador nave espacial
- Comprender los operadores bitwise y otros operadores
## Operadores Aritméticos
### Matemáticas Básicas
```php
```
### Comportamiento de la División
```php
```
### Módulo con Números Negativos
```php
```
### Incremento/Decremento
```php
```
## Operadores de Asignación
### Asignación Simple
```php
```
### Asignación Compuesta
```php
```
## Operadores de Comparación
### Comparación de Valores
```php
$c; // false - Mayor que
$a <= $b; // true - Menor o igual
$a >= $c; // false - Mayor o igual
?>
```
### Comparación de Tipos
```php
```
### Operador Nave Espacial (PHP 7+)
```php
10; // -1 (left is less)
$b = 10 <=> 10; // 0 (equal)
$c = 10 <=> 5; // 1 (left is greater)
echo $a; // -1
echo $b; // 0
echo $c; // 1
?>
```
### Usando Nave Espacial para Ordenar
```php
$b; // Ascending order
});
print_r($prices); // [50, 75, 100, 200]
?>
```
## Operadores Lógicos
### Lógica Básica
```php
```
### && vs and
```php
```
### Evaluación de Cortocircuito
```php
```
## Operadores de Cadenas
### Concatenación
```php
```
### Concatenación con Diferentes Tipos
```php
```
## Operadores de Arreglos
### Comparación
```php
```
### Unión
```php
1, "b" => 2];
$b = ["b" => 3, "c" => 4];
$union = $a + $b;
// ["a" => 1, "b" => 2, "c" => 4]
// Note: $b's values don't overwrite $a's
?>
```
### Nave Espacial para Arreglos
```php
$b; // -1 (at index 2, 3 < 4)
?>
```
## Operador de Fusión de Null (PHP 7+)
### Operador ??
```php
```
### ?? con Arreglos Anidados
```php
getName(); // Returns null if $user is null
?>
```
## Operadores Bitwise
### Bitwise Básico
```php
> 1; // 2 - Shift right (divide by 2)
?>
```
### Usos Comunes
```php
```
## Operador de Control de Errores
### Operador @
```php
```
### Precaución
```php
```
## Precedencia de Operadores
### Tabla de Prioridad (Mayor a Menor)
```php
>
// 6. < <= > >=
// 7. == != === !== <> <=>
// 8. &
// 9. ^
// 10. |
// 11. &&
// 12. ||
// 13. ?? (null coalescing)
// 14. ? : (ternary)
// 15. = += -= *= **= /= .= %= &= |= ^= <<= >>=
// 16. and
// 17. xor
// 18. or
// Use parentheses for clarity
$result = 2 + 3 * 4; // 14 (not 20)
$result = (2 + 3) * 4; // 20
?>
```
## Resumen
- Aritméticos: `+`, `-`, `*`, `/`, `%`, `**`, `++`, `--`
- Asignación: `=`, `+=`, `-=`, `*=`, `/=`, `.=`
- Comparación: `==`, `===`, `!=`, `!==`, `<`, `>`, `<=`, `>=`, `<=>`
- Lógicos: `&&`, `||`, `!`, `and`, `or`, `xor`
- Fusión de null: `??` (devuelve el primer valor no nulo)
- Arreglo: `+` (unión), `==` (igual), `===` (idéntico)
- Bitwise: `&`, `|`, `^`, `~`, `<<`, `>>`
- Usa paréntesis `()` para clarificar precedencia
Comments
Comments powered by Giscus
To enable comments, add your Giscus embed code here.
Learn more about Giscus →