Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/02/2009, 17:22
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Pequeño ejemplo de banco (Util para iniciados)

Interesante. Por qué usas switch? Si bien es cierto funciona, para poner el código como ejemplo deberías emplear correctamente la sintaxis del lenguaje. Un par de ifs habría sido "suficiente y adecuado":

Código php:
Ver original
  1. if($dinero > 0) {
  2.     echo 'Tienes dinero';
  3. } else {
  4.     echo 'No tienes dinero';
  5. }
Ahora, si quieres usar de todos modos switch, tal vez lo más correcto habría sido:

Código php:
Ver original
  1. switch(true) {
  2.     case ($dinero == 0):   // En caso que no tengamos dinero.
  3.         echo "No tienes más dinero."; //Nos avisa
  4.         echo " ¿Quieres pedir un préstamo?"; //Y nos pide si queremos pedir un préstamo.
  5.         break;
  6.     case ($dinero > 0):   // Si tenemos algun dinero.
  7.         echo "Tienes $dinero euros"; // Nos informa la cantidad que tenemos...
  8.         echo " ¿Quieres ingresar el dinero al banco?"; // nos invita a ingresar el dinero al banco.
  9.         break;
  10.     }
  11. }

Switch sirve para comparar el valor final de cada uno de los cases con el que le pasamos como patrón (En este caso true, y en tu ejemplo $dinero). En tu ejemplo, si $dinero vale 20, obviamente el primer case no se cumple. El segundo es una comparación que devuelve un valor booleano (true o false). En este caso devolvería true. Dado que switch hace comparaciones flexibles, 20 (int) es considerado igual (==) a true (bool). Por eso es que el contenido de ese case es ejecutado, pero no porque el patrón sea igual a la condición del case.

Pero que esto quede sólo como aclaración para los que lean este ejemplo. Así como lo pusiste es muy útil, práctico y empleado.

Gracias por compartirlo