Curso de PHP para principiantes
[ Índice | Anterior | Siguiente ]Opearadores
1.-¿Qué es un operador?
Un operador es una herramienta que nos proporciona PHP para poder manipular datos. Existen operadores aritméticos (+, -, *, /), lógicos, de asignación, etc...
En este capítulo vamos a ver los distintos tipos de operadores y para qué sirven.
2.-Operadores aritméticos
Son los operadores que realizan las operaciones matemáticas más habituales:
|
Operador |
Nombre |
Ejemplo |
Resultado |
|
+ |
Suma |
$a + $b |
Suma de $a y $b |
|
- |
Resta |
$a - $b |
Resta de $a menos $b |
|
- |
Negación |
- $a |
Cambia el signo de $a |
|
* |
Multiplicación |
$a * $b |
Producto de $a por $b |
|
/ |
División |
$a / $b |
Divide $a entre $b |
|
% |
Resto (o módulo) |
$a % $b |
Resto de $a entre $b |
|
++ |
Incremento |
$a++ |
Suma 1 a la variable $a |
|
-- |
Decrementar |
$a-- |
Resta 1 a la variable $a |
Como curiosidad indicaré que el operador '-' puede ser unitario o binario, es decir, que trabaja con un valor o dos. Cuando funciona como resta es un operador binario. Cuando funciona como negación es un operador unitario. Es normal usar la palabra "unario" en lugar de unitario.
Los operadores ++ y -- se pueden colocar antes o después de la variable $a++ ó ++$a. La diferencia se puede ver en los siguientes ejemplos:
<?php $a = 1; echo 'El resultado de $a++ es: ' . $a++; ?>
Esto dará como resultado:
El resultado de $a++ es: 1
<?php $a = 1; echo 'El resultado de ++$a es: ' . ++$a; ?>
Resultado:
El resultado de ++$a es: 2
Como se puede ver la diferencia está en que $a++ devuelve el valor de $a y después le suma 1. En el segundo caso primero se suma 1 y luego se devuelve el valor de $a.
3.-Operadores de asignación
Los operadores de asignación permiten cambiar el valor de una variable. Ya hemos visto el operador '=' que permite asignar un valor a una variable.
|
Operador |
Ejemplo |
Resultado |
|
= |
$a = 1; |
Asigna el valor 1 a la variable $a |
|
+= |
$a += 3; |
Suma 3 al valor actual de la variable $a. Sería como hacer $a = $a + 3; |
|
-= |
$a -= 4; |
Resta 4 al valor actual de $a. |
|
*= |
$a *= 2; |
Multiplica el valor actual de $a por dos. |
|
.= |
$a .= 'hola'; |
Añade a la variable $a la cadena 'hola', |
Evidentemente, también podemos usar en lugar de números otras variables u operaciones más complejas. Por ejemplo:
<?php
$a = 10;
$b = 5;
$b += $a +3;
echo "La variable b vale: $b";
?>
Resultado:
La variable b vale: 18
También se pueden hacer cosas complejas como:
<?php $a = ($b=4) + 3; ?>
Pero no es muy recomendable ya que el código que resulta es confuso y poco evidente para el que lo tenga que leer o modificar después (puede que nosotros mismos).
Es mucho mejor y más claro hacer:
<?php $b = 4; $a = $b + 3; ?>
4.-Operadores binarios
Los estudiaremos más adelante.
5.-Operadores de comparación
Los operadores de comparación se utilizan ampliamente en programación y sirve para ver si cierto valor es igual que otro, mayor o menor, diferente, etc...
Veremos su aplicación práctica en el próximo capítulo. Pero por ahora vamos a ver cómo funcionan.
|
Operador |
Nombre |
Ejemplo |
La condición es cierta si... |
|
== |
Igual |
$a == $b |
si $a y $b son iguales |
|
=== |
Idéntico |
$a === $b |
si $a y $b tienen el mismo valor y son del mismo tipo (ver nota más abajo) |
|
!= |
Distinto |
$a != $b |
si $a y $b tienen valores distintos. También se puede usar <> |
|
!== |
No idéntico |
$a !== $b |
si $a tiene un valor distinto de $b o si son de diferente tipo |
|
< |
Menor que |
$a < $b |
si $a es menor que $b |
|
> |
Mayor que |
$a > $b |
si $a es mayor que $b |
|
<= |
Menor o igual |
$a <= $b |
si $a es menor que o igual a $b |
|
>= |
Mayor o igual |
$a >= $b |
si $a es mayor que o igual a $b |
Cuando una condición es cierta devuelve un 1 (TRUE), si es falsa devuelve un 0 (FALSE). Por ejemplo:
<?php $a = 1; $b = 1; echo $a == $b; ?>
tendrá como resultado:
1
pero:
<?php $a = 1; $b = 1; echo $a == $b; ?>
No mostrará nada en la pantalla (el resultado sería 0).
Los operadores == y === se distinguen en que == sólo comprueba que los valores de $a y $b sean iguales, === comprueba además que sean del mismo tipo. Esto lo vemos claramente con el siguiente ejemplo:
<?php $a = "1"; $b = 1.0; echo '<br/>Resultado: $a==$b: '; echo $a==$b; echo '<br/>Comprobamos: $a===$b: '; echo $a===$b; ?>
$a y $b tienen el mismo valor: '1'. Sin embargo, no son del mismo tipo, $a es una cadena (string) y $b es un número tipo float. El resultado por tanto será:
Resultado: $a==$b: 1
Comprobamos: $a===$b:
Recordemos que más arriba hemos visto que si la condición se cumple el resultado es 1 y si no se cumple el resultado es 0 (a veces no se muestra el cero).
6.-Operadores lógicos
Como complemento a los anteriores existen los opearadores lógicos que permiten comprobar simultáneamente si dos condiciones o más son ciertas.
|
Operador |
Nombre |
Ejemplo |
El resultado es TRUE si... |
|
and |
AND |
$a==$b and $c==$d |
$a es igual a $b Y $c es igual a $d |
|
or |
OR |
$a==$b or $c==$d |
$a es igual a $b O $c es igual a $d |
|
xor |
XOR |
$a==$b xor $c==$d |
$a es igual a $b O $c es igual a $d. No es TRUE si se cumplen ambas condiciones |
|
&& |
AND |
$a==$b && $c==$d |
$a es igual a $b Y $c es igual a $d |
|
|| |
OR |
$a==$b || $c==$d |
$a es igual a $b O $c es igual a $d |
&& y and son iguales pero tienen una pequeña diferencia; and tiene prioridad sobre &&. Esto en la práctica no se usa demasiado. Lo mismo ocurre con || y or. Normalmente se suelen usar && y ||.
Existe también el operador NOT que se representa por el signo de admiración: !
NOT hace que una condición verdadera sea falsa y una falsa sea verdadera. Por ejemplo:
<?php $a = 1; $b = 3; echo !($a==$b); ?>
Resultado:
1
La condición era falta, pero al añadir ! se hace verdadera.
Volveremos sobre los operadores lógicos en el siguiente capítulo.
7.-Operador de control de errores
El operador de control de erorre '@' sirve para evitar que se muestren los errores del programa en el navegador.
Veremos su aplicación práctica más adelante, sobre todo cuando trabajemos con bases de datos.
8.-Operador de ejecución
El operador de ejecución está formado por las comillas inversas: ``.
Sirve para ejecutar un programa externo. Es rara su utilización salvo que desde PHP tengamos que llamar a otro programa que deba realizar una operación que no pueda hacer PHP.
Por ejemplo se usa en pasarelas de pago (para aceptar pagos con tarjeta de crédito en una tienda online). Algunas pasarelas de pago tienen que generar un código secreto para cifrar la comunicación entre la tienda online y el banco. Este código, en ocasiones, se genera mediante un programa que nos entrega el banco. Para poder llamar a este programa debemos usar el operador de ejecución:
Por ejemplo, una pasarela usa un programa llamado 'calculo' para generar la firma secreta. Para ejecutarlo desde PHP haríamos:
<?php $codigo_secreto = `calculo`; ?>
La variable $codigo_secreto recogerá el resultado del programa.
En lugar del operador de ejecución también podemos usar la función 'shell_exec()'.
9.-Otros operadores
Existen otros operadores, como los de arrays, que para poder entenderlos hacen falta unos conocimientos que aún no hemos visto en este punto del curso y se verán más adelante.
[ Índice | Anterior | Siguiente ]