Usuario:ManuelRomero/php/Objetos

De WikiEducator
Saltar a: navegación, buscar




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 (condicion)
     Sentencia 1;

 if  (condicion){
     Sentencia_1;
     Sentencia_2;
 }

if  (expresion)
     Sentencia_1;
else
      Sentencia_2;
  • 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.
if (expresion){
   sentencias;
}
elseif (expresion){
   sentencias;
}
else{
   sentencias;
}
  • 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.
if (condicion): 
   Sentencia 1;
 endif;
</div>
<div class="slide">
  • Ahora lo vemos con código html
<?php if (true): ?>
 
    <h1>Esta frase seguro que aparece ahor</h1>
    <!--escribirmos código html -->
<?php else: ?>
    <h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
    <!--escribirmos código html -->
<?php endif ?>

Operadores ternario

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


iteracion 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 >=), ...
<?php
$i = 1;
while ($i <= 10) {
    echo "iteración número ."$i++;
}
?>
  • Alternativamente podemos usar la siguiente sintaxis
$i = 1;
while ($i <= 10):
    $i++;
    echo "iteración número ."$i;
endwhile;
?>

iteracion do-while

  • Este tipo de bucle donde seguro que al menos se ejectua un iteración
  • Respecto al anterior nos ahorra una comparación.
<?php
$num=10;
$resultado=1;
do {
   $resultado:=$resultado*$num;
   $num--;
} while ($num>0);
?>
  • Esta es la única sintaxis posible con este t tipo de sentencia iterativa-

iteracion for

  • Es un bucle de tipo contador
 for (expresion_inicial; condicion;expresion_actualizar){
       sentencias;
 }
  • 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
<?php
for ($a=0; ;$a++){
    echo "$a*$a=".$a*$a."<br>";
    if ($a==10)
        break;
}
?>
;expresion_actualizar
:Esta expresión actualiza el valor de alguna/as variables
:Se ejecuta en cada interacion
</div>
*El ejemplo anterior 
<source lang=php>
<?php
for ($a=0;$a<10 ;$a++){
    echo "$a*$a=".$a*$a."<br>";
}
?>
 
<div class="slide">
===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
<source lang=php>
<?php
 
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
switch ($nombre){
    case "Maria":
        echo "eres una chica";
        break;
    case "Pedro";
        echo "eres una chico";
        break;
    default:
        echo "no se qué nombre tienes";
}
?>




  1. Operadores lógicos


Operadores lógicos

and 
or
!
xor
&&
||
  • Funcionan por cortocircuito
  • Construyen expresiones booleanas y tras su evaluación retorna un valor booleano.


Operadores lógicos

Operadores lógicos

==
¡=
<
>
<=
>=
===