Hi,
habe gerade ein kleines Tool zum ausrechen des BMI erstellt. Das ausrechnen ist nicht das Problem, sondern eher das vergleichen des BMI. Vergleichen muss ich den BMI mit anderen Zahlen, damit ich dem Benutzer des Tools mitteilen kann in welchem Bereich sein BMI liegt.
Kategorie BMI (kg/m²)
Starkes Untergewicht < 16 Untergewicht
Mäßiges Untergewicht 16 – 17
Leichtes Untergewicht 17 – 18,5
Normalgewicht 18,5 – 25 Normalgewicht
Präadipositas 25 – 30 Übergewicht
Adipositas Grad I 30 – 35 Adipositas
Adipositas Grad II 35 – 40
Adipositas Grad III ≥ 40
Also, zuerst dachte ich, ich vergleiche den BMI mit den Zahlen, die in der oben stehenden Tabelle liegen und das anhand if & elseif Bedingungen.
zB:
if($BMI <= 16)
{
echo 'starkes Untergewicht';
}
else if($BMI >=16 OR $BMI <= 17)
{
echo 'Mäßiges Untergwicht';
}
else if($BMI >=17 OR $BMI <= 18.5)
{
echo 'Leichtes Untergwicht';
}
usw usf
Problem ist ja dann, das wenn jemand 17 BMI hat, die zweite und dritte Meldung ausgegebn wird, da ja beide zutreffen...
Habe mir paar Sachen überlegt, wie ich das lösen könnte - mir ist bis jetzt die Möglichkeit mit switch und case eingefallen, problem: da kann ich nur mit == Operator arbeiten, sprich, der BMI geht bis 40, brauche also 40 cases - und das zieht ja dann den Code extrem in die länge. Gibts da nen kürzeren Weg?
MfG,
Nico