PHP - como puedo imprimir un switch en php

 
Vista:
sin imagen de perfil

como puedo imprimir un switch en php

Publicado por daniel (2 intervenciones) el 31/07/2014 17:29:54
tengo una código pero quiero dejarlo mas pequeño en un switch se imprime en un case una instrucción pero como puedo hacer que esa instrucción se imprima en otro case mas otra instrucción
tengo 4 etapas en el switch y se repite una parte del código en el siguiente como puedo hacer que lo que imprime en el anterior se imprima en el siguiente
este es mi código
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

como puedo imprimir un switch en php

Publicado por xve (6935 intervenciones) el 31/07/2014 19:02:45
Hola Daniel, cuesta un poco de entender tu código, y no se muy bien exactamente que quieres hacer...

Puedes ser un poco mas concreto y mostrar unicamente la parte del código a la que haces referencia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como puedo imprimir un switch en php

Publicado por daniel (2 intervenciones) el 31/07/2014 19:17:50
tengo el codigo
$etapa = $infoEtapa['etapa'];
switch($etapa){
case ETAPA_AP:
{
en este imprimo una instrucción de id de tareas de la etapa 1
}
break;
case ETAPA_RV1:
{

se imprime la tareas de la etapa uno y de las tareas de la segunda etapa
}
break;
case ETAPA_RV2:
en esta tengo las dos primeras y las tareas de la tercera etapa
break;
case ETAPA_FIN:
tengo todas la anteriores etapas y otra instrucciones de otra etapa

como puedo imprimir la instrucciones de la etapas anteriores en la siguiente etapa sin repetir el código de la instrucciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Salvador

como puedo imprimir un switch en php

Publicado por Salvador (125 intervenciones) el 01/08/2014 05:24:32
Puede ser que en lugar de que escribas instruccion por instruccion, hagas mejor una funcion y solo las llamas.


function uno(){
serie de instrucciones
}
function dos(){
serie de instrucciones
}
function tres(){
serie de instrucciones
}

switch($etapa){
case ETAPA_AP:
{
uno();
}
break;
case ETAPA_RV1:
{
uno();
dos();
}
break;
case ETAPA_RV2:
uno();
dos();
tres();
break;
case ETAPA_FIN:
uno();
dos();
tres();
cuatro();
break;

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

como puedo imprimir un switch en php

Publicado por Vainas (262 intervenciones) el 01/08/2014 11:17:49
Buenas:

A lo del Salvador agrego que SI el orden de las etapas puede ser inverso y/o no hay problema que se ejecuten en cualquier orden puedes hacer esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function uno(){
	//serie de instrucciones
}
function dos(){
	//serie de instrucciones
}
function tres(){
	//serie de instrucciones
}
 
switch($etapa){
	case ETAPA_FIN:
	cuatro();
	case ETAPA_RV2:
	tres();
	case ETAPA_RV1:
	dos();
	case ETAPA_AP:
	uno();
	break;
}
?>

Si quitas el brake se ejecuta esa etapa y la siguiente. Al menos en JAVA funciona asi. De todas formas lo probare yo tambien.

Saludos.

update: funciona igual que en Java.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Salvador

como puedo imprimir un switch en php

Publicado por Salvador (125 intervenciones) el 01/08/2014 16:30:16
La sintaxis de switch case de PHP es la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch (n) {
  case label1:
    instrucciones;
    break;
  case label2:
   instrucciones;
    break;
  case label3:
   instrucciones;
    break;
  ...
  default:
   instrucciones;
}

el BREAK es requerido para cortar instrucciones, de lo contrario se tomaria como un switch anidado y como la sintaxis no estaria correcta, mandaria error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

como puedo imprimir un switch en php

Publicado por Vainas (262 intervenciones) el 01/08/2014 17:19:48
Buenas:

Tienes razon de que la sentencia switch es asi, pero el break puede ser opcional.

Cito:

1
2
"PHP continúa ejecutando las sentencias hasta el final del bloque switch, o hasta la primera vez que vea una sentencia break.
Si no se escribe una sentencia break al final de la lista de sentencias de un caso, PHP seguirá ejecutando las sentencias del caso siguiente. "

Link: http://php.net//manual/es/control-structures.switch.php

En la documentacion de break no pone mucho la verdad http://php.net/manual/es/control-structures.break.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar