Mam instrukcję przełącznika, aby pokazać ocenę na podstawie punktów, które otrzymują uczniowie.Przełącz niewłaściwą wartość zwrotu
studenci z punktów> = 80 dostać
studenci z punktów> = 70 get B
studenci z punktów> = 50 uzyskać C
studenci z punktów> = 30 get D
studenci z punktów> = 0 get E
Problem występuje, gdy punkt ma wartość 0, zwraca A zamiast E. Oto instrukcja switch
.
$point = 0;
switch ($point) {
case $point >= 80:
echo 'A';
break;
case $point >= 70:
echo 'B';
break;
case $point >= 50:
return 'C';
break;
case $point >= 30:
echo 'D';
break;
case $point >= 0:
echo 'E';
break;
default:
echo 'F';
break;
}
Możliwy duplikat [php instrukcji CASE nie pracuje z zerowym wartości] (https ://przepełnienie stosu.com/questions/1800798/php-case-statement-nie-działających-z-zerowymi wartościami) –
jeśli 'var_dump ($ point> = 80)' jego 'false' i' false' jest uważane '0', więc najpierw Sprawa jest dopasowywana niezależnie od stanu logicznego. –