Diferencia entre revisiones de «Plantilla:PHP/Expresiones»
De WikiEducator
(→Expresión) |
(→Expresiones y operadores) |
||
(3 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 84: | 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=== | ===Expresiones de cadenas=== | ||
*Sólo presenta un operador que se utiliza para juntar dos cadenas | *Sólo presenta un operador que se utiliza para juntar dos cadenas | ||
Línea 98: | Línea 146: | ||
|Retorna la cadena formada por la unión de ambas | |Retorna la cadena formada por la unión de ambas | ||
|} | |} | ||
+ | |||
===Expresión de asignación=== | ===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. | *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. | ||
Línea 222: | 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>