Diferencia entre revisiones de «PHP Operadores»
Ir a la navegación
Ir a la búsqueda
Nota: Información obtida de php.net.
Nota: Información obtida de php.net.
Nota: Información obtida de php.net.
Nota: Información obtida de php.net.
Nota: Información obtida de php.net.
Nota: Información obtida de php.net.
| Línea 64: | Línea 64: | ||
<center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.comparison.php php.net].</small></center> | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.comparison.php php.net].</small></center> | ||
| + | |||
| + | |||
| + | * '''IMPORTANTE:''' | ||
| + | :* O operador == compara valores e se son de diferente tipo, fai unha conversión automática de tipo. | ||
| + | :: Por exemplo: | ||
| + | ::<syntaxhighlight lang="php" enclose="div" highlight="3" > | ||
| + | $var1 = 5; | ||
| + | $var2 = 5; | ||
| + | if($var==$var1){ | ||
| + | print("Son iguais"); | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | : Pero se poñemos un valor de cadea nunha das variables tamén entrará no if, se a cadea ten valor '5' xa que comparamos 5=='5'. Ao ter doble guión convirte a cadea a número e obtén true. | ||
| + | Pola contra, se empregamos === compara tipo e valor. Na expresión anterior 5==='5' xa non devolve true, porque comparamos int con string. | ||
| + | |||
| + | |||
| + | : Este mesmo problema pode aparecer cando empregamos funcións que poden devolver distintos tipos de datos. | ||
| + | : Por exemplo: | ||
| + | ::<syntaxhighlight lang="php" enclose="div" highlight="" > | ||
| + | function exemploFuncion(int $num): bool|string { | ||
| + | if($num%2==0) { | ||
| + | return true; // E par | ||
| + | } | ||
| + | else{ | ||
| + | return 'Número incorrecto'; | ||
| + | } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | : Se chamamos a funnción cun número que non sexa par e miramos se é true ou false da forma: | ||
| + | ::<syntaxhighlight lang="php" enclose="div" highlight="" > | ||
| + | if(exemploFuncion(5)==true){ | ||
| + | printf('É un número par...'); | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | : Entrará no if e amosará o texto: É un número para. | ||
| + | : Teremos que empregar o === para que compare tipo e valor e así non entraría. | ||
== Operadores de incremento/decremento == | == Operadores de incremento/decremento == | ||
Revisión del 14:47 1 oct 2025
Sumario
Introdución
- Como en todas as linguaxes de programación imos ter operadores que aplicaremos a variables.
- Ditos operadores teñen unha precedencia.
- Por exemplo: 1 + 2 * 3 é igual 1+(2*3) xa que o operador de multiplicación ten máis precedencia que o da suma.
- Non necesitamos ter en conta as precedencias entre operadores se utilizamos parénteses nas nosas operacións :)
Precedencia de operadores
- No seguinte cadro aparecen os operadores por orde de precedencia (os que teñen máis 'peso' están arriba na táboa).
Operadores aritméticos
- No seguinte cadro aparecen os operadores aritméticos.
Operador de asignación
- O operador de asignación é =
1 <?php 2 variableNumérica$=5; 3 variableCadea='Ola'; 4 ?>
- Tamén se pode facer unha asignación por referencia. Neste tipo de asignación temos dous variables 'apuntando' á mesma dirección de memoria. Polo tanto a modificación do valor nunha das variables fai que se modifique noutra variable.
1 <?php 2 $a = 3; 3 $b = &$a; // $b é unha referencia para $a 4 5 print "$a\n"; // amosa 3 6 print "$b\n"; // amosa 3 7 8 $a = 4; // cambia $a 9 10 print "$a\n"; // amosa 4 11 print "$b\n"; // amosa 4 tamén, dado que $b é unha referencia para $a 12 ?>
- Información obtida deste enlace.
Operadores tipo bit
- No seguinte cadro aparecen os operadores de tipo bit.
Operadores de comparación
- No seguinte cadro aparecen os operadores de comparación.
- IMPORTANTE:
- O operador == compara valores e se son de diferente tipo, fai unha conversión automática de tipo.
- Por exemplo:
$var1 = 5; $var2 = 5; if($var==$var1){ print("Son iguais"); }
- Pero se poñemos un valor de cadea nunha das variables tamén entrará no if, se a cadea ten valor '5' xa que comparamos 5=='5'. Ao ter doble guión convirte a cadea a número e obtén true.
Pola contra, se empregamos === compara tipo e valor. Na expresión anterior 5==='5' xa non devolve true, porque comparamos int con string.
- Este mesmo problema pode aparecer cando empregamos funcións que poden devolver distintos tipos de datos.
- Por exemplo:
function exemploFuncion(int $num): bool|string { if($num%2==0) { return true; // E par } else{ return 'Número incorrecto'; } }
- Se chamamos a funnción cun número que non sexa par e miramos se é true ou false da forma:
if(exemploFuncion(5)==true){ printf('É un número par...'); }
- Entrará no if e amosará o texto: É un número para.
- Teremos que empregar o === para que compare tipo e valor e así non entraría.
Operadores de incremento/decremento
- No seguinte cadro aparecen os operadores de incremento/decremento.
Operadores lóxicos
- No seguinte cadro aparecen os operadores lóxicos.
-- Ángel D. Fernández González -- (2016).