25, junio - 2018

Variables especiales y utilización de operadores

Variables especiales y utilización de operadores

PHP tiene incorporadas una serie de variables y matrices especiales con funcionalidades propias que podemos utilizar para realizar acciones específicas dentro de nuestros scripts de programación.
Estas variables son:

  • $GLOBALS se trata de una matriz muy práctica, ya que gracias a ella no vamos a necesitar declarar una variable como superglobal dentro de una función, invócandola con esta variable la vamos a poder utilizar, por ejemplo $GLOBALS[‘mivariable’]
  • $_SERVER es una matriz que guarda las variables relacionadas con el entorno del servidor que esté ejecutando el código en ese momento
  • $_GET es una matriz con las variables pasadas en la secuencia de comandos por el métogo GET (visible), normalmente se va a tratar de datos enviados por un formulario web aunque no tiene por qué ser siempre así
  • $_POST igual que la matriz GET pero esta vez no visible, éstas si suelen ser siempre enviadas por un formulario web HTML
  • $_COOKIE almacena en su interior todas las variables cookies que se hayan declarado en la página web o que tenga la máquina cliente guardadas, las cookies
  • $_FILES se trata de una matriz donde se almacenan las variables relacionadas a la carga de archivos
  • $_ENV una matriz que almacena las variables de entorno
  • $_REQUEST es una matriz que almacena todas las variables de entrada del usuario o cliente, incluidas las matrices GET. POST y COOKIE, es muy práctica cuando no sabemos qué tipo de envío han hecho, si la declaramos recogeremos los datos enviados tanto si son visibles como no
  • $_SESSION es una matriz con todas las variables de entorno de sesión, estás desaparecen una vez se haya cerrado el navegador del cliente que esté visualizando la página web

Nota: todas estas variables son superglobales y pueden ser utilizadas en cualquier parte del código de nuestro script, tanto en el interior de las funciones como en su exterior

¿Qué son los operadores en PHP?

Los operadores en PHP como en el resto de lenguajes de programación son los símbolos que podemos utilizar para realizar operaciones con los valores de variables. Por lo general los operadores se van a realizar con uno, dos o tres argumentos (la mayoría de las veces se van a usar con dos), por ejemplo el operador de asignación de valores “=” que ya hemos visto en la página dedicada a las variables, tendrá dos argumentos, a la izquierda el nombre de la variable que va a recibir el valor y a la derecha  el valor propiamente dicho que tendrá. Estos dos argumentos se van a llamar operandos o lo que es igual, los argumentos sobre los que se opera en la declaración de valores.
Con los operadores vamos a poder hacer lo siguiente:

  • Realizar cálculos aritméticos
  • Simplificar los códigos de programación
  • Realizar operaciones comparativas entre operandos
  • Concatenar valores alfanuméricos
  • Asignar valores a los operandos
  • Realizar ejecuciones sobre valores
  • Combinar resultados de operaciones lógicas
  • Realizar operaciones de BIT a BIT
  • Realizar operaciones de supresión de errores
  • Realizar operaciones de matriz

¿Qué operadores podemos encontrar en PHP?

A continuación vamos a mostrar la lista de operadores y sus usos en la programación de PHP.

Operadores Aritméticos

Los operadores aritméticos son muy comunes, se trata de los operadores con los que vamos a poder realizar las operaciones matemáticas más comunes, en la tabla recogemos éstos operadores.

Utilizando estos operadores podemos recoger los resultados de la operación, por ejemplo

$a = 1;
$b = 1;
$resultado = $a + $b;
echo $resultado; //será igual la íntegro 2
///////////////////////////////////////////
$a += $b;
echo $a; //también nos va a devolver 2 ya que hemos usado la forma abreviada de operar con la suma

Como vemos, los operadores se comportan de la forma que esperábamos, realizarán las operaciones asignadas, con algunas particularidades, si encapsulamos los operandos entre paréntesis las operaciones que estén dentro se realizarán antes que el resto, exactamente igual que las matemáticas clásicas, de tal forma (a+b)*c, realizará primero la suma y después multiplicará el resultado por c. Otra particularidad es la de la utilización de la forma abreviada que hemos visto en el ejemplo de programación, si usamos la expresión a += b, con el signo más a la izquierda del operador igual, estaremos indicando que se sume el valor a la derecha, esto de podrá hacer de la misma forma para todos los operadores aritméticos.
El operador módulo % lo que nos va a calcular es el resto de la división entre dos números, de tal forma que a%b si a vale 10 y b 3, el módulo será igual a 1 que es el resultado de dividir 3 entre 10 y ver que 1 es su resto.

$a = 10;
$b = 3;
$c = $a%$b;
echo $c;// valdrá 1 que es el resto de 10 dividido entre 3

Por último, vamos a ver los operadores aritméticos que nos permitirán sumar o restar un valor a la variable que le indiquemos, esto se expresan de la siguiente manera:

Estos operadores de incremento y decremento se podrán utilizar de dos formas, poniendo el operador en la parte izquierda  (como hemos hecho en la imagen) o a la derecha del valor a incrementar o decrementar, con la diferencia de cuando se realizará la operación, si lo ubicamos a la izquierda la operación se va a realizar justo en el momento que lo declaremos, a la derecha en la siguiente declaración de la variable, vamos a verlo de una forma más clara:

$a = 1;
$b = (++$a) + 1; // se incrementa uno en ese mismo momento, b valdrá 3 ya que a ha pasado a valer 2
echo $b; // igual a 3
////////////////////////////////////////////////////////////////
$a = 1;
$b = ($a++) + 1; // a todavía sigue valiendo 1 así que la suma será igual a 2
echo $b; // igual a 2

Nota: Si en el cálculo de operadores aritméticos insertamos una cadena de texto string, PHP la intentará convertir en numérica buscando la primera coincidencia numérica que exista, en caso de no haber ningún número en ella PHP dará como resultado 0 para el valor de ese operando. Igual que si en ella ponemos la letra e o E, PHP la leerá como una anotación científica, convirtiendo ésta a número de coma flotante.

Operadores de Cadenas de Texto

PHP tiene un único operador de cadenas es el “.” y sirve para concatenar cadenas de texto, podemos usarlo para concatenar cadenas de texto igual que usaríamos el operador “+” para sumar pero en este caso con strings alfanuméricos, como vemos en el siguiente ejemplo:

$a = "Hola mundo";
$b = "bello";
$c = $a." ".$b; // obtendremos la cadena "Hola mundo bello", fijándonos que entre medias de las dos cadenas hemos puesto otra más con un espacio para que quede mejor.

Operadores de Asignación

El operador de asignación es el signo igual “=” como ya se ha mostrado, tan solo reflejar que es mejor indicar que la variable X se estable en R, en lugar de indicar que la variable X es igual a R, ya que indicar que es igual a puede dar lugar a errores ya que indicar es igual a en programación está haciendo referencia a una comparación y no a una asignación, también podemos establecer el signo “.=” que hará referencia de la siguiente forma:

$a = "Hola";
$a .= " ";
$a .= "mundo";
echo $a; // nos devolverá como resultado la concatenación de la totalidad de declaraciones de la variable $a en este caso "Hola mundo"

Nota: el operador de asignación también podrá estar dentro de otra asignación de tal forma que declarar $a = 5 + ($b = 2); será una declaración correcta y dará como resultado $a = 7 y $b = 2

 

$a = 5 + ($b = 2);
echo $a; // resultado 5+2 = 7
echo $b; // resultado 2

Operador de Referencia

El operador de referencia “&” se utiliza en combinación con el operador de asignación “=” y funciona de la siguiente forma, cuando el valor de una variable se asigna a otra variable diferente, se realiza una copia de la primera y se guarda en la memoria ram del visitante, por ejemplo:

$a = 1;
$b = $a;
echo $a; // dará 1
echo $b; // dará 1 porque es igual a $a
$a = 2;
echo $a; // dará 2
echo $b; // seguirá siendo 1 porque está guardado en la memoria
///////////////////////////////////////////////////////////////
$c = 1;
$d = &$c;
echo $c; // dará 1
echo $d; // dará 1 porque es igual a $c
$c = 2;
echo $c; // dará 2
echo $d; // dará 2 porque le hemos pasado el operador de referencia & y ya no almacena el valor en memoria sino que éste es recursivo

Operadores de Comparación

Los operadores de comparación como su propio nombre indica se utilizan para comparar dos o más valores, las operaciones que realizan devuelven un valor booleano TRUE o FALSE, en función de los resultados o del resultado de la operación u operaciones. A continuación podemos ver la lista de operadores de comparación disponibles en PHP:

Veamos algunos ejemplos prácticos:

$a = "1";
$b = 1;
if($a == $b)
echo true;
else
echo false;
// Obtendremos como resultado true ya que no está comparando el tipo de dato, únicamente el dato y en este caso toma los dos como íntegros aunque uno sea un string, en cambio
$a = "1";
$b = 1;
if($a === $b)
echo true;
else
echo false;
// retornará como resultado false ya que en este caso sí está comparando también el tipo de dato y no son iguales

Podemos declarar tantas comparaciones como deseemos de la siguiente manera

$a = "1";
$b = 1;
$c = 5;
if( ($a == $b) && ($c < 6) )
echo true;
else
echo false;
// Obtendremos como resultado false ya que la primera condición no se cumple y hemos utilizado la concatenación && (y)
if( ($a == $b) || ($c < 6) )
echo true;
else
echo false;
// Obtendremos como resultado true porque una de las dos condiciones se está cumpliendo en concreto $c menor que 6, y porque hemos utilizado la concatenación || (o)

Operadores Lógicos

Acabamos de ver dos de los operadores lógicos para la concatenación de operadores de asignación, && y ||, los operadores lógicos se utilizan para combinar los resultados de condiciones lógicas, con ellos podemos medir por ejemplo rangos de valores como podrían ser comprobar si un número de encuentra entre 1 y 100 usando la expresión si a > 1 y a < 100, vamos a ver la lista total de valores de operadores lógicos y algunos ejemplos:

Siguiendo el ejemplo anterior podemos declarar las siguientes sentencias PHP

$a = 48;
if( ($a > 1) && ($a < 50) )
echo true;
else
echo false;
// estamos declarando que la variable a se encuentre entre el número 1 y (&&) el número 50
// obtendremos true como resultado ya que sí se encuentra entre estos rangos de valores
$a = 1;
$b = 1
if( ($a == 1) or ($b == 1) )
echo true;
else
echo false;
// estamos declarando que la variable a sea igual a 1 o (or) la variable b también
// al ser las dos iguales obtendremos true como resultado
$a = 1;
$b = 1
if( ($a == 1) xor ($b == 1) )
echo true;
else
echo false;
// estamos declarando que la variable a sea igual a 1 o (or) la variable b también sea igual a 1 pero no las dos
// al ser las dos iguales obtendremos false, si en lugar de xor hubíeramos declarado or normal serán true

Operadores BIT a BIT

Los operadores de comparación de bit a bit permiten el tratamiento de los números enteros como la serie de bits utilizados para representarlos. Estos operadores son poco usados en PHP o se usan en raras ocasiones. Los operadores bit a bit son los siguientes:

Otros operadores en PHP

Un operador que es muy práctico y usado es el operador ternario, su uso es idéntico al del lenguaje C#, y es igual que usar el operador if else (sin elseif), la sintaxis es la siguiente condición ? true : false, lo vemos en este ejemplo:

$a = 10;
($a == 1 ? $b = 'SI' : $b = 'NO');
echo $b; // resultado NO
$a = 10;
$b = 5;
( ($a == 1) && ($b == 5) ? $c = 'SI' : $c = 'NO');
echo $c; // resultado NO
$retorna = ($a !== $b) ? "SI" : "NO";
echo $retorna; // retorna igual a SI

Otro operador que se suele emplear en muchas ocasiones o en ocasiones puntuales es el de supresión de error representado por la arroba @, este operador se puede utilizar por delante de cualquier expresión de programación, es decir, de todos aquellos elementos que generen o contengan un valor, de esa forma por ejemplo $a = (10/0) nos generaría un error al intentar dividir un número entero entre cero, sin embargo, $a = @(10/0) evitaría que se generase el error.

Si vamos a incluir muchos supresores de errores de esa forma, lo ideal es tener activo en la configuración de PHP (php.ini) la función track_errors, de esa forma los mensajes de error que generemos y suprimamos se almacenarán en la variable global $php_errormsg, y podemos verla en cualquier momento para revisarlos, hablaremos más adelante de la supresión de errores y del manejo de los mismos en PHP.

Hasta aquí nuestra página dedicada a las variables especiales y el uso de operadores en PHP, esperamos que os haya sido de ayuda.

¿Te ha parecido interesante este contenido..?
En ese caso, te pedimos por favor que nos des tu valoración graicas a esto podemos mejorar nuestras lecciones. Gracias.
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando…

Social Media

  • YouTube

    Suscríbete a nuestro canal de YouTube para ver todos nuestros vídeos sobre programación

  • Twitter

    Síguenos en Twitter e infórmanos de ello, es muy probable que también te sigamos

  • Facebook

    Estamos pensando si abrir una página de Facebook o no...

  • LinkedIn

    En breve...

  • Instagram

    En breve...

  • Github

    En breve...

A %d blogueros les gusta esto: