sábado, 5 de febrero de 2011

5. Sentecias de control FOR y SWITCH


En la entrada anterior cuando explique la sentencia WHILE, que significa que el script se ejecuta mientras la condición de WHILE sea verdadera. No obstante se puede interrumpir la ejecución del programa con la sentencia break. Lo vemos en un ejemplo para que nos quede más claro:
<?php
$num = 0;
  while ($num < 10) {
echo $num;
  if ($num == 6){
echo "<br>";
echo "Aquí nos salimos \n";
  break;
 }
 $num++;
 }
?>
Y nos aparece la siguiente pantalla:


Lo que significa que mientras el numero almacenado dentro de la variable sea menor o igual que 10 se imprimirá en pantalla, en cambio si ese numero almacenado es igual que 6 se interrumpe el programa. Si no estuviera la sentencia break el programa continuaría incrementando el numero de la variable. También como podemos observar en la condición if nos aparece el símbolo ==. Este símbolo es el operador de comparación que significa igualdad, $num es igual en este caso al numero 6.

Bueno, pues dicho esto voy a seguir explicando las sentencias de control. La primera que voy a explicar es la sentencia FOR. Su sintaxis es la siguiente:
for (exp1; exp2; exp3)
For se puede sustituir por while y se puede usar también la sentencia break para finalizar el script. Usamos el mismo ejemplo anterior pero con la sentencia for:
<?php
$num = 0;
  for ($num=0; $num<10; $num++) {
echo $num;
  if ($num == 6){
echo "<br>";
echo "Aquí nos salimos \n";
  break;
}
  $num++;
}
?>
Y al ejecutar el programa nos aparecería la misma pantalla del ejemplo anterior.

Pasando ahora a la estructura SWITCH , la síntaxis de SWITCH es:
switch(expresión){
case 1:
sentencias a ejecutarse en caso de que expresión valga 1;
break;
case 2:
sentencias a ejecutarse en caso de que expresión valga 2;
break;
default:
sentencias a ejecutarse en caso de que expresión no cumpla con ninguno de los valores anteriores;
}
Dependiendo de la condición de switch hara un caso u otro. Lo vemos con un ejemplo:
<?
switch($a=1)
{
  case 0:
echo "Esta sentencia no es verdadera";
  break;
  case 2:
echo "Esta sentencia no es verdadera";
  break;
  case 3:
echo "Esta sentencia no es verdadera";
  break;
   default:
echo "Ninguna de las sentencias son verdaderas";
}
?>
Este script al ejecutarse la pantalla nos mostraría el último echo de default. Es decir como en ningún caso la sentencia es verdadera aparece el último caso por defecto.
Bueno, pues hasta aquí lo más básico de PHP. Con lo que hemos dado hasta ahora ya podemos crear pequeños scripts simples. El próximo día quiero adentrarme en lo que son los arrays o tablas. Por supuesto que hay más sentencias, pero lo iré explicando a lo largo de esta especie de manual de ayuda, puesto que no se puede denominar curso ya que explico las cosas muy simplificadas, os iré proponiendo la realización de prácticas y poco a poco nos introduciremos en aplicaciones mucho más complejas. Hasta ahora hemos visto una pequeña introducción a PHP, las variables de PHP y como declararlas, las etiquetas y comentarios, las constantes y como declararlas, las sentencias de control: if, else, if… else, while, for, switch..
Ahora os dejo aquí una serie de practicas para que las realicéis, en la próxima entrada publicaré las soluciones, es todo un reto, así no estáis tentados a mirar las soluciones. Espero con ansia vuestras propias soluciones, vuestras ideas o sugerencias, este blog lo hice con intención de que se participará. Así que os animo a que lo hagaís. De momento hasta pronto!
  1. Hacer un programa con la sentencia WHILE y FOR donde aparezca los números del 1 al 10 correlativos.
  2. Mostrar en pantalla una tabla de 10 por 10 con los números del 1 al 100
  3. ídem al ejercicio anterior, pero colorear las filas alternando gris y blanco. Además, el tamaño será una constante: define(TAM, 10)
  4. Realizar un programa en el que se obtenga una tabla de multiplicar





1 comentario:

  1. En el ejemplo del FOR aumenta de a 2 porque tienes declarado $num ++, dentro del FOR y en la cabecera, lo correcto.
    $num = 0;
    for ($num=0; $num<10; $num++) {
    echo $num ."
    ";
    if ($num == 6){
    echo "
    ";
    echo "Aquí nos salimos 2 \n";
    break;
    }
    //$num++;
    }

    ResponderEliminar