Foros del Web » Programando para Internet » PHP »

pregunta sobre switch en php, como hacer un case de varias opciones

Estas en el tema de pregunta sobre switch en php, como hacer un case de varias opciones en el foro de PHP en Foros del Web. Hola seguramente es una pregunta tonta pero despues de años trabajando con php me ocurrio esto: en una estructura swtich necesito realizar la misma accion ...
  #1 (permalink)  
Antiguo 21/11/2009, 06:49
 
Fecha de Ingreso: octubre-2009
Ubicación: Catamarca
Mensajes: 91
Antigüedad: 14 años, 5 meses
Puntos: 4
pregunta sobre switch en php, como hacer un case de varias opciones

Hola seguramente es una pregunta tonta pero despues de años trabajando con php me ocurrio esto: en una estructura swtich necesito realizar la misma accion para varias opciones algo asi:

Código:
case 3||4||5:
..........
break:
case 6:
..........
break;
el problema es que probe primero con || y luego con && y en cualquier caso cuando el case es 6 nunca se ejecuta, pero tampoco da errores. si quito las opciones 4 y 5 el switch funciona perfecto.

entonces como se hace cuando un case debe ejecutarse ante varias opciones? se que lenguajes como VB.Net tienen esa opcion rara, PHP la tiene?
  #2 (permalink)  
Antiguo 21/11/2009, 07:01
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 9 meses
Puntos: 7
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

talves sea una solucion tonta pero puedes meter el codigo en una funcion y luego en los "case" que necesites ejecutar lo mismo haces la llamada a la funcion.

Es lo que se me ocurre en este momento, estoy seguro que habrán soluciones mejores :)
  #3 (permalink)  
Antiguo 21/11/2009, 07:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 2 meses
Puntos: 126
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

Hola

En mi poca experiencia con PHP, no se puede, puesto que case es el OR

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 21/11/2009, 07:58
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

Prueba así:

Código PHP:
switch ($i) {
case 
0:
case 
1:
case 
2:

    echo 
"0-2";
    break;

case 
3:

    echo 
"3";
    break;


Un saludo
  #5 (permalink)  
Antiguo 21/11/2009, 08:09
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 9 meses
Puntos: 7
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

lo otro sería sencillamente cambiar el SWITCH por IF

Código PHP:
<?php
if(condicion1 OR condicion2 OR condicion3){
    
//....
}elseif(condicion4){
    
//....
}elseif(condicion5){
    
//....
}else{
    
//....
}
?>
  #6 (permalink)  
Antiguo 21/11/2009, 08:29
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 6 meses
Puntos: 71
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

Cita:
Iniciado por urameshix Ver Mensaje
Prueba así:

Código PHP:
switch ($i) {
case 
0:
case 
1:
case 
2:

    echo 
"0-2";
    break;

case 
3:

    echo 
"3";
    break;


Un saludo

Esta es la solución. No hace falta hacer un if
  #7 (permalink)  
Antiguo 22/11/2009, 08:26
 
Fecha de Ingreso: octubre-2009
Ubicación: Catamarca
Mensajes: 91
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: pregunta sobre switch en php, como hacer un case de varias opciones

Bueno finalmente como lo necesitaba de urgencia lo solucione con otro metodo poco decorativo pero no se me va a olvidar esta respuesta, seguramente la necesitare en algun momento. Muchas Gracias!
  #8 (permalink)  
Antiguo 05/04/2013, 17:11
 
Fecha de Ingreso: abril-2012
Ubicación: colombia
Mensajes: 62
Antigüedad: 11 años, 11 meses
Puntos: 0
Información pregunta sobre switch en php, como hacer un case de varias opciones

Tengo una inquietud con respecto a este tema, acabe de realizar una consulta grande en SQL, donde implica 5 tablas, y realizo busqueda por un solo campo desde un formulario, hasta hay bien, ahora necesito imprimir los resultados que me arroje, pero como hago un case o un switch para esto, me explico mejor con este ejemplo:
en T1 tengo un campo a, y ese se llama igual para todas las T osea T1, T2,T3, T4, T5, si el dato ingresado a buscar esta en T3 entonces valla y me imprima todo los campos que yo ponga en el echo, si hago otra busqueda y el dato esta en T1 entonces valla y me imprima todos los campos que necesito muestre de T1, espero haberme explicado, como puedo realizar esto.
__________________
edwinarley
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 23:35.