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.
(Página creada con «* 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 é igu...») |
|||
| (No se muestran 6 ediciones intermedias de 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
| + | == Introdución == | ||
* Como en todas as linguaxes de programación imos ter operadores que aplicaremos a variables. | * Como en todas as linguaxes de programación imos ter operadores que aplicaremos a variables. | ||
| Línea 5: | Línea 6: | ||
: Non necesitamos ter en conta as precedencias entre operadores se utilizamos parénteses nas nosas operacións :) | : Non necesitamos ter en conta as precedencias entre operadores se utilizamos parénteses nas nosas operacións :) | ||
| − | |||
| − | [[Imagen:Php_operadores_1.jpg| | + | == 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). | ||
| + | |||
| + | [[Imagen:Php_operadores_1.jpg|500px|center]] | ||
<center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.precedence.php php.net].</small></center> | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.precedence.php php.net].</small></center> | ||
| + | == Operadores aritméticos == | ||
| + | :No seguinte cadro aparecen os operadores aritméticos. | ||
| + | |||
| + | [[Imagen:Php_operadores_2.jpg|500px|center]] | ||
| + | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.arithmetic.php php.net].</small></center> | ||
| + | |||
| + | == Operador de asignación == | ||
| + | |||
| + | * O operador de asignación é '''=''' | ||
| + | |||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="" > | ||
| + | <?php | ||
| + | $variableNumérica=5; | ||
| + | $variableCadea='Ola'; | ||
| + | ?> | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | * 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. | ||
| + | ::<syntaxhighlight lang="php" line enclose="div" highlight="3" > | ||
| + | <?php | ||
| + | $a = 3; | ||
| + | $b = &$a; // $b é unha referencia para $a | ||
| + | |||
| + | print "$a\n"; // amosa 3 | ||
| + | print "$b\n"; // amosa 3 | ||
| + | |||
| + | $a = 4; // cambia $a | ||
| + | |||
| + | print "$a\n"; // amosa 4 | ||
| + | print "$b\n"; // amosa 4 tamén, dado que $b é unha referencia para $a | ||
| + | ?> | ||
| + | </syntaxhighlight> | ||
| + | : Información obtida [http://php.net/manual/es/language.operators.assignment.php deste enlace]. | ||
| + | |||
| + | == Operadores tipo bit == | ||
| + | |||
| + | :No seguinte cadro aparecen os operadores de tipo bit. | ||
| + | |||
| + | [[Imagen:Php_operadores_3.jpg|500px|center]] | ||
| + | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.bitwise.php php.net].</small></center> | ||
| + | |||
| + | |||
| + | == Operadores de comparación == | ||
| + | |||
| + | :No seguinte cadro aparecen os operadores de comparación. | ||
| + | |||
| + | [[Imagen:Php_operadores_4.jpg|500px|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> | ||
| + | |||
| + | |||
| + | : Pola contra, se empregamos === compara tipo e valor. Na expresión anterior 5 ==='5' xa non devolve true, porque comparamos int con string. | ||
| + | |||
| + | : '''Nota: Ata a versión php 7''' 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. | ||
| + | |||
| + | : '''Sempre que sexa posible mellor empregar === e !== para que compare valor e tipo.''' | ||
| + | |||
| + | |||
| + | : 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 == | ||
| + | |||
| + | :No seguinte cadro aparecen os operadores de incremento/decremento. | ||
| + | |||
| + | [[Imagen:Php_operadores_5.jpg|500px|center]] | ||
| + | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.increment.php php.net].</small></center> | ||
| + | |||
| + | |||
| + | == Operadores lóxicos == | ||
| + | |||
| + | :No seguinte cadro aparecen os operadores lóxicos. | ||
| + | |||
| + | [[Imagen:Php_operadores_6.jpg|500px|center]] | ||
| + | <center><small><u>Nota:</u> Información obtida de [http://php.net/manual/es/language.operators.logical.php php.net].</small></center> | ||
| + | |||
| + | |||
| + | |||
| + | == Operador nulo == | ||
| + | |||
| + | : O operador nulo compara se o valor anterior a el é nulo e se é o caso devolve un valor indicado por nos. | ||
| + | |||
| + | ::<syntaxhighlight lang="php" enclose="div" highlight="" > | ||
| + | <?php | ||
| + | $numero = null; | ||
| + | $valor = $numero ?? 1; | ||
| + | echo $valor; | ||
| + | ?> | ||
| + | </syntaxhighlight> | ||
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016). | <br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016). | ||
Revisión actual del 15:52 13 sep 2026
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"); }
- Pola contra, se empregamos === compara tipo e valor. Na expresión anterior 5 ==='5' xa non devolve true, porque comparamos int con string.
- Nota: Ata a versión php 7 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.
- Sempre que sexa posible mellor empregar === e !== para que compare valor e tipo.
- 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.
Operador nulo
- O operador nulo compara se o valor anterior a el é nulo e se é o caso devolve un valor indicado por nos.
<?php $numero = null; $valor = $numero ?? 1; echo $valor; ?>
-- Ángel D. Fernández González -- (2016).