En esta entrada de la serie de entradas de introducción al lenguaje de guiones PHP se hablará de los operadores.
Los operadores no son exclusivos de este lenguaje de guiones que se está tratando en la presente entrada de este blog, sino que son parte de casi cualquier lenguaje informático existente, bien sea de guiones, de programación, de marcas, o algún otro.
Como es costumbre, se omitirán los operadores referentes a cadenas de texto y matrices, ya que se tratarán en sus respectivas partes de esta serie de entradas sobre el PHP.
Pero antes de empezar a hablar de los operadores en profundidad, se tratará el tema de las expresiones.
Una expresión, en el contexto de la programación PHP, es cualquier cosa que posee o produce un valor.
Así, una expresión puede ser unha variable o una constante o puede incluir varios operandos y operadores. Una función que devuelve un valor también está dentro de lo que se define como expresión. El valor resultante de la evaluación de una expresión proporciona un valor simple de uno de los seis tipos de datos existentes (entero, coma flotante, cadena, booleano, matriz u objeto).
La expresión más sencilla es una variable o una constante, pero también es una expresión una comparación entre dos operandos, puesto que da como resultado un valor booleano.
Bien, ahora que quedó claro el concepto de "expresión", se verá con detalle el del operador.
Un operador es la parte del código que indica qué se quiere hacer con las expresiones, variables o constantes para obtener el nuevo valor. Los operadores de PHP son similares a los de C y Java. Se suelen clasificar según su función.
Los operadores no son exclusivos de este lenguaje de guiones que se está tratando en la presente entrada de este blog, sino que son parte de casi cualquier lenguaje informático existente, bien sea de guiones, de programación, de marcas, o algún otro.
Como es costumbre, se omitirán los operadores referentes a cadenas de texto y matrices, ya que se tratarán en sus respectivas partes de esta serie de entradas sobre el PHP.
Pero antes de empezar a hablar de los operadores en profundidad, se tratará el tema de las expresiones.
Una expresión, en el contexto de la programación PHP, es cualquier cosa que posee o produce un valor.
Así, una expresión puede ser unha variable o una constante o puede incluir varios operandos y operadores. Una función que devuelve un valor también está dentro de lo que se define como expresión. El valor resultante de la evaluación de una expresión proporciona un valor simple de uno de los seis tipos de datos existentes (entero, coma flotante, cadena, booleano, matriz u objeto).
La expresión más sencilla es una variable o una constante, pero también es una expresión una comparación entre dos operandos, puesto que da como resultado un valor booleano.
Bien, ahora que quedó claro el concepto de "expresión", se verá con detalle el del operador.
Un operador es la parte del código que indica qué se quiere hacer con las expresiones, variables o constantes para obtener el nuevo valor. Los operadores de PHP son similares a los de C y Java. Se suelen clasificar según su función.
ARITMÉTICOS
Los operadores de este tipo suelen servir para realizar cálculos matemáticos, y los forman los mostrados en la tabla siguiente:Suma | $a + $b | Suma de dos operandos. |
Resta | $a - $b | Resta de dos operandos. |
Multiplicación | $a * $b | Producto de dos operandos. |
División | $a / $b | División de dos operandos. La división entre dos valores devuelve un valor de coma flotante, salvo si los dos operandos son enteros y divisibles. Si se quiere obtener un resultado entero se puede utilizar la función intval(). |
Módulo | $a % $b | Resto de una división de enteros. Si los operandos son de tipo coma flotante, se trunca la parte decimal antes del cálculo. El signo del módulo (resultado) es el signo del primer operando. |
Negación | -$a | Operador unitario que da el opuesto. |
No obstante, en numerosas ocasiones los operadores aritméticos no son
suficientes para resolver los problemas de cálculo, en estas situaciones
se pueden utilizar funciones matemáticas que simplificarán el trabajo.
Este tipo de funciones cubren un amplio espectro, desde el simple
cálculo del mayor valor entre dos números hasta cualquier cálculo trigonométrico, y con la posibilidade de controlar el nivel de precisión.
PHP incluye varias extensiones matemáticas, cada una con un considerable número de funciones: BCMath, GMP, Math y Statistics.
PHP incluye varias extensiones matemáticas, cada una con un considerable número de funciones: BCMath, GMP, Math y Statistics.
La sintaxis en el uso de la función sería:
$(variable) = (función)($(variable));
La siguiente tabla muestra las funciones matemáticas más utilizadas en el PHP básico:
abs | Valor absoluto. |
acos | Arco coseno. |
acosh | Arco coseno hiperbólico. |
asin | Arco seno. |
asinh | Arco seno hiperbólico. |
atan2 | Arco tangente de dos variables. |
atan | Arco tangente. |
atanh | Arco tangente hiperbólica. |
base_convert | Convertir un número entre bases arbitrarias. |
bindec | Binario a decimal. |
ceil | Redondear fracciones hacia arriba. |
cos | Coseno. |
cosh | Coseno hiperbólico. |
decbin | Decimal a binario. |
dechex | Decimal a hexadecimal. |
decoct | Decimal a octal. |
deg2rad | Convierte el número en grados a su equivalente en radianes. |
exp | Calcula el exponencial de "e". |
expm1 | Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del número se aproxima a cero. |
floor | Redondear fracciones hacia abajo. |
fmod | Devuelve el resto en punto flotante (módulo) de la división de los argumentos. |
getrandmax | Mostrar el mayor valor aleatorio posible. |
hexdec | Hexadecimal a decimal. |
hypot | Calcula la longitud de la hipotenusa de un triángulo de ángulo recto. |
intdiv | División entera. |
is_finite | Busca si un valor es un número finito legal. |
is_infinite | Busca si un valor es infinito. |
is_nan | Busca si un valor no es un número. |
lcg_value | Generador lineal congruente combinado. |
log10 | Logaritmo en base 10. |
log1p | Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del número se aproxima a cero. |
log | Logaritmo natural. |
max | Buscar el valor más alto. |
min | Bucar el valor más bajo. |
mt_getrandmax | Mostrar el mayor valor aleatorio posible. |
mt_rand | Genera un número entero aleatorio mejor. |
mt_srand | Genera el mejor número aleatorio a partir de una semilla. |
octdec | Octal a decimal. |
pi | Obtener el valor de "pi". |
pow | Expresión exponencial. |
rad2deg | Convierte el número en radianes a su equivalente en grados. |
rand | Genera un número entero aleatorio. |
round | Redondea un número de coma flotante. |
sin | Seno. |
sinh | Seno hiperbólico. |
sqrt | Raíz cuadrada. |
srand | Genera un número aleatorio a partir de una semilla. |
tan | Tangente. |
tanh | Tangente hiperbólica. |
ASIGNACIÓN
El operador de asignación permite asignar un valor a una variable, y su operador básico es =. A primera vista se podría pensar que es el operador de comparación, pero realmente significa que el operando de la izquierda toma el valor de la expresión de la derecha.El valor de una expresión de asignación es el propio valor asignado (por ejemplo, el valor de “$a = 3” es 3).
Además del operador básico de asignación, existen los “operadores combinados” para todas las operaciones aritméticas y de cadenas que sean binarias. Este operador combinado permite, de una sola vez, usar una variable en una expresión y luego establecer el valor de esa variable al resultado de la expresión.
En la tabla siguiente se muestran los operadores combinados para operaciones aritméticas:
Suma | $var1 += $var2 | Suma las dos variables y el resultado se asigna en el primer operando. |
Resta | $var1 -= $var2 | Resta las dos variables y el resultado se asigna en el primer operando. |
Multiplicación | $var1 *= $var2 | Multiplica las dos variables y el resultado se asigna en el primer operando. |
División | $var1 /= $var2 | Divide las dos variables y el resultado se asigna en el primer operando. |
Módulo | $var1 %= $var2 | Módulo entre dos variables y el resultado se asigna en el primer operando. |
COMPARACIÓN
Se trata de operadores que se utilizan para realizar comparación de expresiones. Los operadores de comparación enfrentan, normalmente, dos expresiones (en su forma más simple, una expresión es una variable) y la expresión de comparación da como resultado "verdadero" o "falso".
Existen los siguientes operadores de comparación:
Igualdad | $a == $b | Comparar si el valor de los dos operandos es el mismo. |
Identidad | $a === $b | Compara si el valor es el mismo y, además, el tipo coincide (a partir de PHP4). |
No igual | $a != $b | Cierto si el valor de "$a" no es igual al de "$b". |
No idéntico | $a !== $b | Cierto si "$a" no es igual a "$b", o si no tienen el mismo tipo. |
Menor que | $a < $b | Cierto si "$a" es estrictamente menor que "$b". |
Mayor que | $a > $b | Cierto si "$a" es estrictamente mayor que "$b". |
Menor o igual que | $a <= $b | Cierto si "$a" es menor o igual que "$b". |
Mayor o igual que | $a >= $b | Cierto si "$a" es mayor o igual que "$b". |
No igual | $a <> $b | Cierto si el valor de "$a" no es igual al de "$b". |
Ternario | (expr1) ? (expr2) : (expr3) | Si "expr1" es verdadera, la expresión se evalúa como "expr2", en caso contrario, como "expr3". |
EJECUCIÓN
PHP soporta el operado de ejecución: la comilla invertida (`). PHP intentará ejecutar la instrucción contenida dentro de las comillas invertidas como si fuese un comando del intérprete de comandos, y su salida devuelta como el valor de esta expresión. Esta salida puede ser asignada a una variable.El uso de este operador es idéntico a la función shell_exec().
INCREMENTO/DECREMENTO
Este lenguaje de guiones posee los prácticos operadores de incremento y decremento de variables al estilo del lenguaje de programación C. Existen dos operadores, ++ y --, y cada uno de ellos puede actuar antes o después de la operación de devolución de la variable.Preincremento | ++$a | Incrementa "$a" en 1, y devuelve "$a" (ya incrementado) |
Postincremento | $a++ | Devuelve "$a" (sin incrementar), y después lo incrementa en 1. |
Predecremento | --$a | Decrementa "$a" en 1, y devuelve "$a" (ya decrementado). |
Postdecremento | $a-- | Devuelve "$a" (sin decrementar), y después lo decrementa en 1. |
LÓGICOS
Los operadores lógicos se utilizan, generalmente, con expresiones que devuelven valores lógicos: verdadero o falso.Existen los siguientes para PHP:
Y | $a and $b | Cierto si "$a" y "$b" son ciertas. |
O | $a or $b | Cierto si "$a" o "$b" es cierta o ambas son verdaderas. |
O exclusivo | $a xor $b | Cierto si "$a" o "$b" es cierta, pero no ambas. |
No | !$a | Cierto si "$a" es falsa. |
Y | $a && $b | Cierto si "$a" y "$b" son ciertas. |
O | $a || $b | Cierto si "$a" o "$b" es cierta o ambas son verdaderas. |
No existe una diferencia entre && y and y || y or desde el punto lógico, simplemente tienen distinto orden de precedencia. En una expresión simple, con dos variables y el operador, no hay ninguna diferencia entre && y and (o entre || y or). Pero cuando se tiene una expresión con varios operadores, el orden de precedencia es importante porque es el que indica el orden en el que se van resolviendo los elementos internos de una expresión.
BITS
En el lenguaje de guiones PHP se encuentran los operadores de bits que se muestran en la siguiente tabla:
& | $a & $b | Operador lógico Y: Devuelve una variable entera que tiene puestos en 1 los bits que en los dos operandos están a uno. |
| | $a | $b | Operador lógico O: Devuelve una variable entera que tiene puestos en 1 los bits en los que alguno de los dos operandos esté a uno. |
^ | $a ^ $b | Operador lógico O exclusivo: Devuelve una variable entera que tiene puestos en 1 los bits que están a uno en uno de los dos operandos pero no en los dos operandos a la vez. |
~ | ~$a | Operador de negación: Devuelve una variable entera que tiene en uno los bits que estaban a cero en el operando y viceversa. |
<< | $a << $b | Desplazamiento a la izquierda: Devuelve una variable entera desplazando "$b" posiciones a la izquierda a la variable "$a". Cada posición a la izquierda equivale a una multiplicación por 2 de la variable "$a". |
>> | $a >> $b | Desplazamiento a la derecha: Devuelve una variable entera desplazando "$b" posiciones a la derecha a la variable "$a". Cada posición a la izquierda equivale a una división por 2 de la variable "$a". |
OMISIÓN DE ERRORES
PHP soporta un operador de control de errores: El signo de arroba (@). Cuando se antepone a una expresión en PHP, cualquier mensaje de error que puede ser generado por esa expresión será ignorado.Si la propiedad "track_errors" está activada, cualquier mensaje de error generado por la expresión será guardada en la variable "$php_errormsg". Esta variable se sobreescribe en cada error, así que se debe comprobar antes si se desea utilizar.
El operador @ trabaja sólo sobre expresiones. Una simple regla de oro es: si se puede tomar el valor de algo, entonces se le puede anteponer el operador @. Por ejemplo, puede anteponerse a variables, a llamadas a funciones e includes, constantes y así sucesivamente.
No puede anteponerse a definiciones de función o clase, ni a estructuras condicionales
como if y foreach, y así sucesivamente.
TIPO
Se emplea el operador de tipo instanceof para determinar si una variable PHP es una instancia de objeto de cierta clase.Espero que esta entrada haya sido interesante y/o útil al lector; en caso afirmativo le agradecería que la comentase y/o la compartiese.
No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.