Diferencia entre revisiones de «Usuario:ManuelRomero/php/sentencias»
De WikiEducator
< Usuario:ManuelRomero | php
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | {{:Usuario:ManuelRomero/php/nav}} | + | <!--{{:Usuario:ManuelRomero/php/nav}}--> |
<!--__NOEDITSECTION__--> | <!--__NOEDITSECTION__--> | ||
Línea 40: | Línea 40: | ||
} | } | ||
</source> | </source> | ||
− | < | + | </div> |
− | < | + | |
+ | <div class="slide"> | ||
+ | ;Sentencias de control | ||
if (expresion) | if (expresion) | ||
Sentencia_1; | Sentencia_1; | ||
Línea 48: | Línea 50: | ||
</source> | </source> | ||
*También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejectuten las sentencias que a continuación acompañan. | *También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejectuten las sentencias que a continuación acompañan. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Estructura de control | ||
<source lang=php> | <source lang=php> | ||
if (expresion){ | if (expresion){ | ||
Línea 59: | Línea 65: | ||
} | } | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php. | *Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php. | ||
Línea 67: | Línea 76: | ||
Sentencia 1; | Sentencia 1; | ||
endif; | endif; | ||
+ | </source> | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ||
*Ahora lo vemos con código html | *Ahora lo vemos con código html | ||
<source lang=php> | <source lang=php> | ||
Línea 81: | Línea 91: | ||
<?php endif ?> | <?php endif ?> | ||
</source> | </source> | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
Línea 86: | Línea 97: | ||
*Es una forma más compacta de un if else con una única instrucción. | *Es una forma más compacta de un if else con una única instrucción. | ||
Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion | Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion | ||
+ | {{Actividad|Programa que me de si un número aleatorio es par o impar}} | ||
</div> | </div> | ||
− | + | <div class="slide"> | |
===Seleccion switch=== | ===Seleccion switch=== | ||
*Este es un selector múltiple | *Este es un selector múltiple | ||
*La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes | *La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes | ||
+ | *Estructura indicada cuanto tengamos más de dos casos ante una variable o sitiación que evaluemos excluyentes entre sí | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Switch | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 106: | Línea 123: | ||
?> | ?> | ||
</source> | </source> | ||
− | + | </div> | |
− | + | ||
− | + | ||
− | + | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ===Iteración while=== |
*Como en todos los bucles debemos siempre tener encuenta | *Como en todos los bucles debemos siempre tener encuenta | ||
#inicializar la variable de control | #inicializar la variable de control | ||
#acutalizarla correctamente dentro del bucle | #acutalizarla correctamente dentro del bucle | ||
#realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ... | #realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ... | ||
− | |||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 126: | Línea 139: | ||
?> | ?> | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
*Alternativamente podemos usar la siguiente sintaxis | *Alternativamente podemos usar la siguiente sintaxis | ||
<source lang=php> | <source lang=php> | ||
Línea 135: | Línea 151: | ||
?> | ?> | ||
</source> | </source> | ||
− | === | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | |||
+ | ===Iteración do-while=== | ||
*Este tipo de bucle donde seguro que al menos se ejectua un iteración | *Este tipo de bucle donde seguro que al menos se ejectua un iteración | ||
*Respecto al anterior nos ahorra una comparación. | *Respecto al anterior nos ahorra una comparación. | ||
Línea 142: | Línea 162: | ||
$num=10; | $num=10; | ||
$resultado=1; | $resultado=1; | ||
+ | *Esta es la única sintaxis posible con este tipo de sentencia | ||
do { | do { | ||
$resultado:=$resultado*$num; | $resultado:=$resultado*$num; | ||
Línea 148: | Línea 169: | ||
?> | ?> | ||
</source> | </source> | ||
− | + | </div> | |
<div class="slide"> | <div class="slide"> | ||
− | === | + | ===Iteración for=== |
*Es un bucle de tipo contador | *Es un bucle de tipo contador | ||
<source lang=php> | <source lang=php> | ||
Línea 158: | Línea 179: | ||
} | } | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Estructura for | ||
*tiene tres partes | *tiene tres partes | ||
;expresion_inicial: | ;expresion_inicial: | ||
Línea 166: | Línea 191: | ||
:Si no hay expresión se toma como true | :Si no hay expresión se toma como true | ||
:En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento | :En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Estrucutura for: condición | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 175: | Línea 204: | ||
?> | ?> | ||
</source> | </source> | ||
− | ;expresion_actualizar | + | </div> |
+ | <div class="slide"> | ||
+ | ;Estructura for: expresion_actualizar | ||
:Esta expresión actualiza el valor de alguna/as variables | :Esta expresión actualiza el valor de alguna/as variables | ||
:Se ejecuta en cada interacion | :Se ejecuta en cada interacion | ||
− | |||
*El ejemplo anterior | *El ejemplo anterior | ||
<source lang=php> | <source lang=php> | ||
Línea 187: | Línea 217: | ||
?> | ?> | ||
</source> | </source> | ||
− | |||
− | |||
</div> | </div> | ||
− | + | <div class="slide"> | |
===Operadores=== | ===Operadores=== | ||
*Son símbolos que realizan acciones sobre operandos y dan como resultado un valor | *Son símbolos que realizan acciones sobre operandos y dan como resultado un valor | ||
Línea 198: | Línea 226: | ||
*Retorna un valor numérico | *Retorna un valor numérico | ||
*el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post | *el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operadores | ||
<source lang=php> | <source lang=php> | ||
$a=5; | $a=5; | ||
Línea 212: | Línea 244: | ||
?> | ?> | ||
</source> | </source> | ||
− | * | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | ;Operadores | ||
+ | *El código anterior genera la siguiente salida | ||
<source lang=php> | <source lang=php> | ||
$a que vale 6 dice que vale 5 ???? | $a que vale 6 dice que vale 5 ???? | ||
Línea 219: | Línea 255: | ||
efectivamente ahora $a ya no vale 6 sino 7 | efectivamente ahora $a ya no vale 6 sino 7 | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
;operadores comparación (==,<,>,>=,<=,<>,!=,===,!==) | ;operadores comparación (==,<,>,>=,<=,<>,!=,===,!==) | ||
:Este tipo de operadores genera un booleano como resultado de evaluar la expresión | :Este tipo de operadores genera un booleano como resultado de evaluar la expresión | ||
− | + | {{Puntos clave| | |
+ | *'''''==''''' operador de comparacion '''''igual que''''' (mismo valor) | ||
+ | *'''''===''''' operador de comparacion '''''exactamente igual que''''' (mismo valor y tipo) | ||
+ | }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Operador == Vs === | ||
<source lang=php> | <source lang=php> | ||
$num=1; | $num=1; | ||
Línea 231: | Línea 277: | ||
echo '$num no es exactamente igual a true'; | echo '$num no es exactamente igual a true'; | ||
</source> | </source> | ||
− | * | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | ;Operador == vs === | ||
+ | |||
+ | *El código anterior generaría la siguiente salida | ||
<source lang=php> | <source lang=php> | ||
$num es igual a true | $num es igual a true | ||
$num no es exactamente igual a true | $num no es exactamente igual a true | ||
</source> | </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 | :El operador + no está sobre cargado, observa el siguiente código | ||
<source lang=php> | <source lang=php> | ||
Línea 249: | Línea 304: | ||
echo "el valor de nombre completo es $nombreCompleto --<br>"; | echo "el valor de nombre completo es $nombreCompleto --<br>"; | ||
</source> | </source> | ||
− | + | </div> | |
+ | |||
+ | <div class="slide"> | ||
+ | ;La salida del código anterior sería | ||
<source lang=php> | <source lang=php> | ||
el valor de nombre completo es Maria de la Oh --- | el valor de nombre completo es Maria de la Oh --- | ||
el valor de nombre completo es 0 -- | el valor de nombre completo es 0 -- | ||
</source> | </source> | ||
+ | </div> | ||
− | + | <div class="slide"> | |
− | ; | + | ;Operadores de asignacion (= , =>) |
:Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenació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 | :En este caso el valor de la variable de la izquierda se toma como primero operando | ||
+ | ;Operador de asiganción | ||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 268: | Línea 328: | ||
?> | ?> | ||
</source> | </source> | ||
− | * | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | *El código anterior genera la siguiente salida | ||
<source lang=php> | <source lang=php> | ||
valor de $b =10 | valor de $b =10 | ||
Línea 281: | Línea 344: | ||
valor de $b =10000000000 | valor de $b =10000000000 | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
;operadores de ejecución (``) | ;operadores de ejecución (``) | ||
:PHP proporciona un operador especial que permite ejecutar sentencias | :PHP proporciona un operador especial que permite ejecutar sentencias | ||
*Observa el siguiente código | *Observa el siguiente código | ||
+ | |||
<source lang=php> | <source lang=php> | ||
<?php | <?php | ||
Línea 290: | Línea 357: | ||
?> | ?> | ||
</source> | </source> | ||
− | * | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | |||
+ | *El código anterior generará la siguiente salida | ||
<source lang=php> | <source lang=php> | ||
Filesystem 1K-blocks Used Available Use% Mounted on | Filesystem 1K-blocks Used Available Use% Mounted on | ||
Línea 302: | Línea 373: | ||
/dev/sda7 101797224 40480360 56122728 42% /home | /dev/sda7 101797224 40480360 56122728 42% /home | ||
</source> | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ;Invocando funciones del sistema | ||
+ | *El operador anterior (comillas invertidas) es igual que la funcion '''''shell_exec()''''' | ||
+ | http://php.net/manual/es/function.shell-exec.php | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
;operadores lógicos (and,&&, or, ||, xor !) | ;operadores lógicos (and,&&, or, ||, xor !) | ||
+ | http://php.net/manual/es/language.operators.logical.php | ||
:Funcionan por cortocircuito | :Funcionan por cortocircuito | ||
:El operador '''''xor''''' da verdad si los operando son de diferente valor uno true y el otro false | :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 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 | ||
|} | |} |
Última revisión de 18:40 5 oct 2015
|