Usuario:ManuelRomero/php/sentencias

{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;"
 * width="100%" valign="top" style="padding: 0; margin:0px;" |

Estructuras de control 1
A continuación veremos las estructuras de control Son de tres tipos
 * 1) Selección
 * 2) Iteración
 * 3) Secuenciales
 * Para construirlas necesitamos operadores

Selección if

 * Sentencia que evlúa una expresión booleana y ejectua o no en función de que dicha expresión sea true o false

if (expresion) Sentencia_1; else Sentencia_2;
 * Sentencias de control
 * 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.


 * Estructura de control


 * Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php.
 * También se puede usar la sintaxis vista anteriormente, pero parece que esta quede más compacta.


 * Ahora lo vemos con código html

Operadores ternario
Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion
 * Es una forma más compacta de un if else con una única instrucción.

Seleccion switch

 * 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
 * Estructura indicada cuanto tengamos más de dos casos ante una variable o sitiación que evaluemos excluyentes entre sí


 * Switch

Iteración while

 * Como en todos los bucles debemos siempre tener encuenta
 * 1) inicializar la variable de control
 * 2) acutalizarla correctamente dentro del bucle
 * 3) realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ...


 * Alternativamente podemos usar la siguiente sintaxis

Iteración do-while

 * Este tipo de bucle donde seguro que al menos se ejectua un iteración
 * Respecto al anterior nos ahorra una comparación.

Iteración for

 * Es un bucle de tipo contador


 * Estructura for
 * tiene tres partes
 * expresion_inicial:
 * Se ejecuta una sóla vez al comienzo del bucle. se usa para inicializar variables


 * condicion
 * Es una expresión booleana que se evalúa en cada interación
 * Si da un valor false, ya no se ejectua ninguna vez
 * 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


 * Estrucutura for: condición
 * Estructura for: expresion_actualizar
 * Esta expresión actualiza el valor de alguna/as variables
 * Se ejecuta en cada interacion


 * El ejemplo anterior

Operadores

 * Son símbolos que realizan acciones sobre operandos y dan como resultado un valor
 * Tenmos 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


 * Operadores


 * Operadores
 * El código anterior genera la siguiente salida


 * operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
 * Este tipo de operadores genera un booleano como resultado de evaluar la expresión


 * Operador == Vs ===


 * Operador == vs ===

http://php.net/manual/es/language.operators.comparison.php
 * El código anterior generaría la siguiente salida
 * Ver la sección comparación de tipos de la página oficial


 * operadores de concatenacón( .) concatena cadena de caracteres.
 * El operador + no está sobre cargado, observa el siguiente código


 * La salida del código anterior sería


 * Operadores de asignacion (=, =>)
 * 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 asiganción


 * El código anterior genera la siguiente salida


 * operadores de ejecución (``)
 * PHP proporciona un operador especial que permite ejecutar sentencias


 * Observa el siguiente código


 * El código anterior generará la siguiente salida

http://php.net/manual/es/function.shell-exec.php
 * Invocando funciones del sistema
 * El operador anterior (comillas invertidas) es igual que la funcion shell_exec

http://php.net/manual/es/language.operators.logical.php
 * operadores lógicos (and,&&, or, ||, xor !)
 * 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 ||

http://php.net/manual/es/language.operators.precedence.php
 * La diferencia entre los operadores es la prioridad
 * }