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 originalif($dinero > 0) {
echo 'Tienes dinero';
} else {
echo 'No tienes dinero';
}
Ahora, si quieres usar de todos modos switch, tal vez lo más correcto habría sido:
Código php:
Ver originalswitch(true) {
case ($dinero == 0): // En caso que no tengamos dinero.
echo "No tienes más dinero."; //Nos avisa
echo " ¿Quieres pedir un préstamo?"; //Y nos pide si queremos pedir un préstamo.
break;
case ($dinero > 0): // Si tenemos algun dinero.
echo "Tienes $dinero euros"; // Nos informa la cantidad que tenemos...
echo " ¿Quieres ingresar el dinero al banco?"; // nos invita a ingresar el dinero al banco.
break;
}
}
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