Ver Mensaje Individual
  #12 (permalink)  
Antiguo 30/05/2009, 19:55
Avatar de Ronruby
Ronruby
 
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 6 meses
Puntos: 416
Respuesta: Reemplazar If Por Switch

Cita:
derechos0
Eso muestra en todos los casos.

Mira, he hecho un ejemplo, y funciona perfectamente:
Código php:
Ver original
  1. <?php
  2.  
  3. $foo = 9;
  4.  
  5. switch(true) {
  6.     case ($foo > 0 AND $foo < 7):
  7.         echo "Mayor que 0, menor que 7<br />";
  8.     break;
  9.    
  10.     case($foo == 8):
  11.         echo "Igual a 8<br />";
  12.     break;
  13.    
  14.     case($foo > 8):
  15.         echo "Mayor que 8<br />";
  16.     break;
  17.    
  18.     default:
  19.         echo "Ninguna<br />";
  20.     break;
  21. }
  22.  
  23. if($foo > 0 AND $foo < 7) {
  24.     echo "Mayor que 0, menor que 7<br />";
  25. } elseif($foo == 8) {
  26.     echo "Igual a 8<br />";
  27. } elseif($foo > 8) {
  28.     echo "Mayor que 8<br />";
  29. } else {
  30.     echo "Ninguna<br />";
  31. }
  32.  
  33. ?>
En ambos casos imprime: Mayor que 8 correctamente.

Avalua las condicionales:
var_dump(($user->admin_rights==9), ($user->admin_rights==8), /** etc */);

EDIT: Ahora que veo bien, lo esta imprimiendo correctamente:
Imprime: Principiante
Y mas abajo, la imagen correspondiente a ese rango.

Por lo tanto, el switch esta funcionando bien. Algo mas, arriba de ese codigo, esta fallando.

Última edición por Ronruby; 30/05/2009 a las 20:02