Diferencia entre revisiones de «Plantilla:PHP/Expresiones»
De WikiEducator
(→Expresiones aritméticas) |
(→Expresiones y operadores) |
||
(10 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | == | + | ==Expresiones y operadores== |
<br /> | <br /> | ||
{{MRM_Definicion|Title=Qué es una expresión| | {{MRM_Definicion|Title=Qué es una expresión| | ||
Línea 24: | Línea 24: | ||
! width="200 px" |Resultado | ! width="200 px" |Resultado | ||
|- | |- | ||
− | + | |+$a | |
|Identidad | |Identidad | ||
|Conversión de $a a int o float según el caso. | |Conversión de $a a int o float según el caso. | ||
Línea 56: | Línea 56: | ||
|Resultado de elevar $a a la potencia $bésima. | |Resultado de elevar $a a la potencia $bésima. | ||
|} | |} | ||
+ | |||
;Operadores unarios | ;Operadores unarios | ||
*Son operadores que actúan sobre un único valor | *Son operadores que actúan sobre un único valor | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ style="background:DarkSlateBlue; color:white; text-align:center;"|'''Expresión aritmética con operadores unarios''' | |+ style="background:DarkSlateBlue; color:white; text-align:center;"|'''Expresión aritmética con operadores unarios''' | ||
Línea 64: | Línea 66: | ||
! width="100 px" |Nombre | ! width="100 px" |Nombre | ||
! width="200 px" |Resultado | ! width="200 px" |Resultado | ||
− | |-++$a | + | |
− | | Pre-incremento | + | |- |
− | | Incrementa $a en uno, y luego retorna $a. | + | | ++$a |
+ | |Pre-incremento | ||
+ | |Incrementa $a en uno, y luego retorna $a. | ||
|- | |- | ||
|$a++ | |$a++ | ||
Línea 72: | Línea 76: | ||
|Retorna $a, y luego incrementa $a en uno. | |Retorna $a, y luego incrementa $a en uno. | ||
|- | |- | ||
− | |--$a | + | | --$a |
|Pre-decremento | |Pre-decremento | ||
|Decrementa $a en uno, luego retorna $a. | |Decrementa $a en uno, luego retorna $a. | ||
Línea 80: | Línea 84: | ||
|Retorna $a, luego decrementa $a en uno. | |Retorna $a, luego decrementa $a en uno. | ||
|} | |} | ||
+ | ;Mira el siguiente código entiéndelo | ||
+ | <source lang=php> | ||
+ | $a=5; | ||
+ | $a++; | ||
+ | echo "Valor de a es $a"; | ||
+ | </source> | ||
+ | Es igual que | ||
+ | <source lang=php> | ||
+ | $a=5; | ||
+ | ++$a; | ||
+ | echo "Valor de a es $a"; | ||
+ | </source> | ||
+ | Pero | ||
+ | <source lang=php> | ||
+ | $a=5; | ||
+ | echo "Valor de a es ".++$a."<br />"; | ||
+ | echo "Valor de a es $a<br />"; | ||
+ | </source> | ||
+ | No es igual que | ||
+ | <source lang=php> | ||
+ | $a=5; | ||
+ | echo "Valor de a es ".$a++."<br />"; | ||
+ | echo "Valor de a es $a<br />"; | ||
+ | </source> | ||
+ | {{MRM_Pregunta| | ||
+ | '''''Lo ves claro''''' | ||
+ | }} | ||
+ | }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operadores | ||
+ | <source lang=php> | ||
+ | $a=5; | ||
+ | if ($a++==5) | ||
+ | echo '$a que vale '.$a.' dice que vale 5 ???? <br>' | ||
+ | . 'Esto es por que primero compara y luego incrementa<br>'; | ||
+ | |||
+ | echo 'ahora $a vale '.$a.'<br>'; | ||
+ | |||
+ | if (++$a==6) | ||
+ | echo 'esto nunca saldrá ya que $a se incrementa antes de comparar'; | ||
+ | else | ||
+ | echo 'efectivamente ahora $a ya no vale 6 sino '.$a.'<br>'; | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | ===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 | ||
+ | {| class="wikitable" | ||
+ | |+ style="background:DarkSlateBlue; color:white; text-align:center;"|'''Expresión aritmética con operadores unarios''' | ||
+ | |- style="background:Lavender; color:black" | ||
+ | ! width="60 px" |Operador | ||
+ | ! width="100 px" |Nombre | ||
+ | ! width="200 px" |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. | ||
+ | {| class="wikitable" | ||
+ | |+ style="background:DarkSlateBlue; color:white; text-align:center;"|'''Expresión aritmética con operadores unarios''' | ||
+ | |- style="background:Lavender; color:black" | ||
+ | ! width="60 px" |Operador | ||
+ | ! width="100 px" |Nombre | ||
+ | ! width="200 px" |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 | ||
+ | <source lang= php> | ||
+ | $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" | ||
+ | |||
+ | </source> | ||
===Expresiones Booleanas=== | ===Expresiones Booleanas=== | ||
Línea 177: | Línea 271: | ||
|'''''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> |
Última revisión de 18:51 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. |
- Mira el siguiente código entiéndelo
$a=5; $a++; echo "Valor de a es $a";
Es igual que
$a=5; ++$a; echo "Valor de a es $a";
Pero
$a=5; echo "Valor de a es ".++$a."<br />"; echo "Valor de a es $a<br />";
No es igual que
$a=5; echo "Valor de a es ".$a++."<br />"; echo "Valor de a es $a<br />";
}} </div>