Foros del Web » Programando para Internet » PHP »

Aprendiz, Ayuda Con Switch Y For

Estas en el tema de Aprendiz, Ayuda Con Switch Y For en el foro de PHP en Foros del Web. Bueno, hola, pues eso, soy un aprendiz y me estaba siguiendo un videocurso de php, pero ahora que ha acabado el tema de las estructuras ...
  #1 (permalink)  
Antiguo 23/05/2009, 17:32
Avatar de heyimedd  
Fecha de Ingreso: enero-2009
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Exclamación Aprendiz, Ayuda Con Switch Y For

Bueno, hola, pues eso, soy un aprendiz y me estaba siguiendo un videocurso de php, pero ahora que ha acabado el tema de las estructuras de control, he visto que en parte la cosa es sencilla, pero ahora me asalta una duda, por ejemplo, no se si se podria "anidar" un for dentro de switch para hacer las tablas de multiplicacion, ya lo hice con FOR, pero me las muestra todas, yo lo que quisiera es hacer un formulario y dependiendo del nombre que el usuario pida imprimir esa tabla utilizando switch, es donde estoy estancado, no se si se puede hacer, porque los ejemplos que mencionan los cursos suelen ser faciles y nada complicados, esto quizas tambien lo sea, pero no se como hacerlo.


de antemano gracias a todos los que se pasen a leer mi post.
  #2 (permalink)  
Antiguo 23/05/2009, 17:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Aprendiz, Ayuda Con Switch Y For

todo es posible... si se hace correctamente!

Código PHP:
switch(/* ... */)
{
  case 
/* ... */:

    for (
/* ... */)
    {
      
// ...
    
}

  break;
  default:
  break;

lo ideal es que revises personalmente el manual de PHP, es lo mejor!

http://php.net/switch
http://php.net/for
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/05/2009, 18:11
Avatar de heyimedd  
Fecha de Ingreso: enero-2009
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Aprendiz, Ayuda Con Switch Y For

buenas, gracias por tu respuesta de hecho ya pude en lo que postee al finalizar me puse a intentarlo a lo "ciego" y lo logre.

Código PHP:
<?php


switch($vartabla)
{
    case(
0):
    echo 
"Esta mal hecha tu consulta, no puedes multiplicar por '0' ";
    break;
//--------------------------------------------------
    

    
case(1):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
    

//--------------------------------------------------


    
case(2):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
        break;

//--------------------------------------------------
    
    
case (3):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
//--------------------------------------------------
    
    
case (4):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    

    
case (5):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    
    
case (6):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    
    
case (7):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------
    
    
case (8):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    

    
case (9):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------
    
    
case (10):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
    
//--------------------------------------------------    

    


}

if (
$vartabla>10);
{
    echo 
"No esta permitido hacer calculos mas altos que '10'";
    
}



?>
ahora quisiera saber, por ejemplo como hago para poner en un case el if que puse
Código PHP:
if ($vartabla>10);
{
    echo 
"No esta permitido hacer calculos mas altos que '10'";
    

eso, ponerlo en un case se puede? porque probe con case(>10) y me da error, y gracias claro que le echara una revisadita al manual de PHP, pero, luego se me hace un poco mas dificil la cosa, por eso pido ayuda por aqui, muchas gracias.
  #4 (permalink)  
Antiguo 23/05/2009, 18:17
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Aprendiz, Ayuda Con Switch Y For

asi podrias evaluar con el if le mandas el mensaje y si no cumple el if en ele else pones el switch
Código PHP:
<?php

if ($vartabla>10);
{
    echo 
"No esta permitido hacer calculos mas altos que '10'";
    
}
else
{
switch(
$vartabla)
{
    case(
0):
    echo 
"Esta mal hecha tu consulta, no puedes multiplicar por '0' ";
    break;
//--------------------------------------------------
    

    
case(1):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
    

//--------------------------------------------------


    
case(2):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
        break;

//--------------------------------------------------
    
    
case (3):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
//--------------------------------------------------
    
    
case (4):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    

    
case (5):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    
    
case (6):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    
    
case (7):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------
    
    
case (8):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------    

    
case (9):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;

//--------------------------------------------------
    
    
case (10):
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
    echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
    break;
    
//--------------------------------------------------    

}
 
}
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #5 (permalink)  
Antiguo 23/05/2009, 18:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Aprendiz, Ayuda Con Switch Y For

yo la verdad veo muy redundante el código...

¿todos los for() sin idénticos???




en fin... para lograr el case > 10 puedes usar default:

Código PHP:
switch($vartabla)
{
  case 
1: case 2: case 3: case 4: case 5:
  case 
6: case 7: case 8: case 9: case 10:
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
      echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
  break;

  default:
    echo 
"No se permite: $vartabla";
  break;


default, significa... en caso de no ser "x" caso....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 23/05/2009, 18:47
Avatar de heyimedd  
Fecha de Ingreso: enero-2009
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Aprendiz, Ayuda Con Switch Y For

Cita:
Iniciado por pateketrueke Ver Mensaje
yo la verdad veo muy redundante el código...

¿todos los for() sin idénticos???




en fin... para lograr el case > 10 puedes usar default:

Código PHP:
switch($vartabla)
{
  case 
1: case 2: case 3: case 4: case 5:
  case 
6: case 7: case 8: case 9: case 10:
    echo 
"Tabla del "$vartabla."<br/><br/>";
    for (
$i=1$i<=10$i++)
    {
      echo 
"$vartabla x $i =". ($vartabla*$i)."<br/>";
    }
  break;

  default:
    echo 
"No se permite: $vartabla";
  break;


default, significa... en caso de no ser "x" caso....


Muchisimas gracias por tu apoyo, lo estudiare.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:58.