2011-10-18 11 views
10

Estoy bastante acostumbrado a la sintaxis de vb.net's Select Case que es esencialmente una instrucción switch, donde puedes hacer cosas como Case Is > 5 y si coincide, ejecutará ese caso.Sentencias de cambio condicionales en PHP

¿Cómo puedo hacer lo que voy a llamar "declaraciones de cambio condicionales" ya que no sé el nombre real, en PHP?

O, ¿qué es una forma rápida de gestionar esto?

switch($test) 
{ 
    case < 0.1: 
     // do stuff 
     break; 
} 

Eso es lo que he intentado actualmente.

+2

Tendrás que usar 'if-elseif-else'. PHP no es compatible con esta sintaxis. – NullUserException

+2

Solo se permiten valores escalares para los casos. –

Respuesta

22

creo que estás en busca de algo como esto (esto no es exactamente lo que quiere, o al menos lo que yo entiendo es su necesidad):

<?php 

switch (true) { 

case ($totaltime <= 1): 
echo "That was fast!"; 
break; 

case ($totaltime <= 5): 
echo "Not fast!"; 
break; 

case ($totaltime <= 10): 
echo "That's slooooow"; 
break; 
} 

?> 
+0

@BoltClock: ¿Qué hace la verdad? – Cyclone

+0

¿Y puedo usar flotantes aquí en las expresiones booleanas de forma segura? – Cyclone

+0

@Cyclone Sí, también puedes usar flotador. –

0

PHP soporta switch statements. ¿Es eso lo que querías?

+0

No, sé los segundos del interruptor normal. – Cyclone

+0

Veo, su pregunta revisada lo aclara ahora. –

0

He intentado añadir esto como un comentario a la respuesta por BoltCock, pero por lo que me está diciendo que su respuesta está bloqueado por lo que voy a hacer de esto una por separado (y esencialmente redundante) respuesta:

El "interruptor (verdadero) "la respuesta de BoltCock es muy similar a the following example, que aunque es lógicamente equivalente a if + else if + else es posiblemente más hermosa porque las expresiones condicionales están alineadas verticalmente, y es práctica estándar/aceptada en PHP.

Pero la sintaxis if + else if + else es esencialmente universal en todos los lenguajes de scripting y, por lo tanto, de lectura inmediata (y mantenible) por cualquier persona, lo que también lo asienta.

Cuestiones relacionadas