Diferencia entre revisiones de «Plantilla:PHP/Expresiones»
De WikiEducator
(→Expresión) |
|||
Línea 222: | Línea 222: | ||
|'''''Or (o inclusivo)''''' true si cualquiera de $a o $b es true. | |'''''Or (o inclusivo)''''' true si cualquiera de $a o $b es true. | ||
|} | |} | ||
+ | ===Otros operadores=== | ||
+ | *En php existen otros operadores cuya evaluación no retorna un valor concreto, si no que tiene una acción definia | ||
+ | ;Operador de referencia | ||
+ | ;'''''&''''' | ||
+ | *Con este operador conseguimos obtener una referencia en memoria de una variable, por lo que, después de aplicarlo, podemos realizar acceso a esa posición de memoria con difenten identificador. Esta característica se conoce como '''''Aliasing''''' y no todos los lenguajes de programación la presentan | ||
+ | |||
+ | <source lang=php> | ||
+ | $a = 10; | ||
+ | $b = &$a; | ||
+ | $b = 20; //Ahora tanto $a, como $b valen 20 | ||
+ | echo "\$a vale $a y \$b vale $b"; //mostrará $a vale 20 y $b vale 20 | ||
+ | </source> | ||
+ | ;Operador de ejecución | ||
+ | ;'''''``''''' | ||
+ | *Está formado por comillas inclinadas | ||
+ | *Con este operador vamos a conseguir que se ejecute este comando en la máquina servidor y veremos el resultado de su ejecución | ||
+ | |||
+ | <source lang=php> | ||
+ | $listado = `ls -la`; | ||
+ | |||
+ | echo $listado; | ||
+ | </source> |
Revisión de 18:39 20 dic 2021
Contenido
Expresiones y operadores
|
- En función del tipo de operador/es, la expresión será de un tipo u otro
- Es importante recordar que php es un lenguaje orientado a las expresiones, por lo que el tipo de operador indica el tipo de exprsión
Tipo de expresiones
- Expresiones aritméticas o numéricas
- Expresiones booleans
- Expresiones de cadena o string
Expresiones aritméticas
- De ellas se va a obtener un valor numérico
Operador | Nombre | Resultado |
---|---|---|
Identidad | Conversión de $a a int o float según el caso. | |
-$a | Negación | Opuesto de $a. |
$a + $b | Suma de $a y $b. | |
$a - $b | Sustracción | Diferencia de $a y $b. |
$a * $b | Multiplicación | Producto de $a y $b. |
$a / $b | División | Cociente de $a y $b. |
$a % $b | Módulo | Resto de $a dividido por $b. |
$a ** $b | Exponenciación | Resultado de elevar $a a la potencia $bésima. |
- Operadores unarios
- Son operadores que actúan sobre un único valor
Operador | Nombre | Resultado |
---|---|---|
++$a | Pre-incremento | Incrementa $a en uno, y luego retorna $a. |
$a++ | Post-incremento | Retorna $a, y luego incrementa $a en uno. |
--$a | Pre-decremento | Decrementa $a en uno, luego retorna $a. |
$a-- | Post-decremento | Retorna $a, luego decrementa $a en uno. |
Expresiones de cadenas
- Sólo presenta un operador que se utiliza para juntar dos cadenas
- Con este tipo de valores, es importante recordar la gran cantidad de funciones disponibles que realizan operaciones sobre ellas
Operador | Nombre | Resultado |
---|---|---|
"Hola". " Caracola " | Concatenar | Retorna la cadena formada por la unión de ambas |
Expresión de asignación
- Puede parecer extraño ver una instrucción de asignación como una expresión de asignación. Esto ocurre, por que en php el valor asignado es devuelto por la expresión.
Operador | Nombre | Resultado |
---|---|---|
$a = 10 | Asiganación | La variable recibe el valor asignado y éste es devuelto por la expresión |
- Es muy importante ver que este operador se puede utilizar con otros, de forma que la variable que recibe el valor asignado interviene como primer operando en la asignación.
Así tenemos los siguentes ejemplos
$a = 4; $a+=5; // $a = $a+5 $a-=45; // $a = $a-4 $a*=45; // $a = $a*4 $a/=45; // $a = $a/4 $texto ="Hola caracola"; $texto .=" y más texto que añado"; $texto = $texto . " y más texto que añado"
Expresiones Booleanas
- De ellas se va a obtener un valor booleano,
- Pueden ser de dos tipos: de comparación o lógicas
- En las expresiones de comparación deben de intervernir dos valores del mismo tipo
- En las expresiones lógicas, deben de intervenir dos valores booleanos.
Operador | Nombre | Resultado |
---|---|---|
$a == $b | Igual | true si $a es igual a $b después de la manipulación de tipos. |
$a === $b | Idéntico | true si $a es igual a $b, y son del mismo tipo. |
$a != $b o | Diferente | true si $a no es igual a $b después de la manipulación de tipos. |
No idéntico | true si $a no es igual a $b, o si no son del mismo tipo. | |
$a < $b | Menor que | true si $a es estrictamente menor que $b. |
$a > $b | Mayor que | true si $a es estrictamente mayor que $b. |
$a <= $b | Menor o igual que | true si $a es menor o igual que $b. |
$a >= $b | Mayor o igual que | true si $a es mayor o igual que $b. |
Operador | Nombre | Resultado |
---|---|---|
$a <=> $b | Nave espacial | Un integer menor que, igual a, o mayor que cero cuando $a es respectivamente menor que, igual a, o mayor que $b. Disponible a partir de PHP 7. |
$a ?? $b ?? $c | Fusión de null | El primer operando de izquierda a derecha que exista y no sea null. null si no hay valores definidos y no son null. Disponible a partir de PHP 7. |
- Operadores lógicos
Operador | Nombre | Resultado |
---|---|---|
$a and $b | And (y) | true si tanto $a como $b son true. |
$a or $b | Or (o inclusivo) | true si cualquiera de $a o $b es true. |
$a xor $b | Xor (o exclusivo) | true si $a o $b es true, pero no ambos. |
! $a | Not (no) | true si $a no es true. |
$a && $b | And (y) true si tanto $a como $b son true. | |
$a | $b | Or (o inclusivo) true si cualquiera de $a o $b es true. |
Otros operadores
- En php existen otros operadores cuya evaluación no retorna un valor concreto, si no que tiene una acción definia
- Operador de referencia
- &
- Con este operador conseguimos obtener una referencia en memoria de una variable, por lo que, después de aplicarlo, podemos realizar acceso a esa posición de memoria con difenten identificador. Esta característica se conoce como Aliasing y no todos los lenguajes de programación la presentan
$a = 10; $b = &$a; $b = 20; //Ahora tanto $a, como $b valen 20 echo "\$a vale $a y \$b vale $b"; //mostrará $a vale 20 y $b vale 20
- Operador de ejecución
- ``
- Está formado por comillas inclinadas
- Con este operador vamos a conseguir que se ejecute este comando en la máquina servidor y veremos el resultado de su ejecución
$listado = `ls -la`; echo $listado;