Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Sintaxis/1»
De WikiEducator
Línea 13: | Línea 13: | ||
<div id=apuntes_distancia> | <div id=apuntes_distancia> | ||
− | {{ | + | <div class="slide"> |
− | {{ | + | ==Operadores y expresiones== |
+ | <br /> | ||
+ | {{MRM_Objetivos| | ||
+ | ;Son partes de las frases de un lenguaje de programación}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ===Operadores=== | ||
+ | *Son símbolos que realizan acciones sobre operandos y dan como resultado un valor | ||
+ | *Tenemos diferentes tipos de operadores en función del tipo de operandos y del resultado | ||
+ | ;operadores aritméticos (+,-,*,/,%,**, ++, --) | ||
+ | *Retorna un valor numérico | ||
+ | *el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post | ||
+ | </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> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operadores | ||
+ | *El código anterior genera la siguiente salida | ||
+ | <source lang=php> | ||
+ | $a que vale 6 dice que vale 5 ???? | ||
+ | Esto es por que primero compara y luego incrementa | ||
+ | ahora $a vale 6 | ||
+ | efectivamente ahora $a ya no vale 6 sino 7 | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;operadores comparación (==,<,>,>=,<=,<>,!=,===,!==) | ||
+ | :Este tipo de operadores genera un booleano como resultado de evaluar la expresión | ||
+ | {{MRM_Puntos clave| | ||
+ | *'''''<nowiki>==</nowiki>''''' operador de comparación '''''igual que''''' (mismo valor) | ||
+ | *'''''<nowiki>===</nowiki>''''' operador de comparación '''''exactamente igual que''''' (mismo valor y tipo) | ||
+ | }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operador == Vs === | ||
+ | <source lang=php> | ||
+ | $num=1; | ||
+ | if ($num==true) | ||
+ | echo '$num es igual a true<br>'; | ||
+ | if ($num===true){ | ||
+ | echo "esto nunca se ejecutará"; | ||
+ | }else | ||
+ | echo '$num no es exactamente igual a true'; | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operador == vs === | ||
+ | |||
+ | *El código anterior generaría la siguiente salida | ||
+ | <source lang=php> | ||
+ | $num es igual a true | ||
+ | $num no es exactamente igual a true | ||
+ | </source> | ||
+ | *Ver la sección '''''comparación de tipos''''' de la página oficial | ||
+ | http://php.net/manual/es/language.operators.comparison.php | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;operadores de concatenacón( .) concatena cadena de caracteres. | ||
+ | :El operador + no está sobre cargado, observa el siguiente código | ||
+ | <source lang=php> | ||
+ | $nombre="Maria"; | ||
+ | $apellido = " de la Oh"; | ||
+ | |||
+ | $nombreCompleto = $nombre.$apellido; | ||
+ | echo "el valor de nombre completo es $nombreCompleto ---<br>"; | ||
+ | |||
+ | $nombreCompleto = $nombre+$apellido; | ||
+ | echo "el valor de nombre completo es $nombreCompleto --<br>"; | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;La salida del código anterior sería | ||
+ | <source lang=php> | ||
+ | el valor de nombre completo es Maria de la Oh --- | ||
+ | el valor de nombre completo es 0 -- | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operadores de asignación (= , =>) | ||
+ | :Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=) | ||
+ | :En este caso el valor de la variable de la izquierda se toma como primero operando | ||
+ | ;Operador de asignación | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $b=1; | ||
+ | for ($a=0;$a<10;$a++){ | ||
+ | $b*=10; | ||
+ | echo 'valor de $b ='.$b.'<br>'; | ||
+ | } | ||
+ | ?> | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | *El código anterior genera la siguiente salida | ||
+ | <source lang=php> | ||
+ | valor de $b =10 | ||
+ | valor de $b =100 | ||
+ | valor de $b =1000 | ||
+ | valor de $b =10000 | ||
+ | valor de $b =100000 | ||
+ | valor de $b =1000000 | ||
+ | valor de $b =10000000 | ||
+ | valor de $b =100000000 | ||
+ | valor de $b =1000000000 | ||
+ | valor de $b =10000000000 | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;operadores de ejecución (``) | ||
+ | :PHP proporciona un operador especial que permite ejecutar sentencias | ||
+ | *Observa el siguiente código | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $Discos = `df`; | ||
+ | echo "<pre>$Discos</pre>"; | ||
+ | ?> | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | *El código anterior generará la siguiente salida | ||
+ | <source lang=php> | ||
+ | Filesystem 1K-blocks Used Available Use% Mounted on | ||
+ | /dev/sda5 86378608 6072360 75895384 8% / | ||
+ | none 4 0 4 0% /sys/fs/cgroup | ||
+ | udev 4023720 4 4023716 1% /dev | ||
+ | tmpfs 806904 1384 805520 1% /run | ||
+ | none 5120 0 5120 0% /run/lock | ||
+ | none 4034504 6588 4027916 1% /run/shm | ||
+ | none 102400 28 102372 1% /run/user | ||
+ | /dev/sda7 101797224 40480360 56122728 42% /home | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Invocando funciones del sistema | ||
+ | *El operador anterior (comillas invertidas) es igual que la función '''''shell_exec()''''' | ||
+ | http://php.net/manual/es/function.shell-exec.php | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;operadores lógicos (and,&&, or, ||, xor !) | ||
+ | http://php.net/manual/es/language.operators.logical.php | ||
+ | :Funcionan por cortocircuito | ||
+ | :El operador '''''xor''''' da verdad si los operando son de diferente valor uno true y el otro false | ||
+ | :La notación '''''and''''' y '''''&&''''' representan el mismo operador, igual ocurre con '''''or''''' y '''''||''''' | ||
+ | *La diferencia entre los operadores es la prioridad | ||
+ | http://php.net/manual/es/language.operators.precedence.php | ||
+ | </div> | ||
Revisión de 09:04 22 oct 2018
|
Contenido