Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/04/2010, 23:30
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: switch compuesto (con dos variables)

Cita:
Iniciado por Bier Ver Mensaje
Gracias.

Aunque realmente siguen siendo 3 if anidados.
Deberá mejorarse esta funcionalidad del PHP para versiones posteriores.

Es el segundo detalle que veo y no me convence, por lo demás, me parece un lenguaje maravilloso.

amigo, anidados sería esto:


Código PHP:
Ver original
  1. if ($a=1 and $b=1){
  2. ---- if ($a=1 and $b=0){
  3. -------- if ($a=0 and $b=1){
  4. --------------echo "ccc";
  5. -------- }
  6. ---- }
  7. }

en el caso de los elseif no entra en cada segmento, a menos de que se trate de una condición válida, funcionalmente es igual al switch


también podrías manejarlo de otra forma:



Código PHP:
Ver original
  1. $case=($a=1 and $b=1)?0:(($a=1 and $b=0)?1:(($a=0 and $b=1)?2:3));
  2.  
  3. //y ya usas $case en tu switch.


Incluso en la documentación oficial usan el elseif como estructura idéntica a switch: http://www.php.net/manual/en/control-structures.switch.php