Hej PHP-hackare! Finns det något sätt att förenkla detta uttryck? Känns som det borde gå att undvika en lång if-else-if-listning men hur jag än vrider och vänder på det så får jag inte till det. Förslag?
$arr = array(0=>0, 1=>1201, 2=>3943, 3=>8600, 4=>12932); // värdena här är av mindre intresse, men de är i stigande ordning
if ($x > $arr[4]) {
return 4;
} else if ($x > $arr[3]) {
return 3;
} else if ($x > $arr[2]) {
return 2;
} else if ($x > $arr[1]) {
return 1;
} else {
return 0;
}
Har du någon anledning till att du skickar in 0, 1, 2, 3 och 4 (alltså värdenas positioner) till din array, eller kommer de alltid bara att räknas uppåt? Om de bara ska räknas från 0 och uppåt kan du skippa dem.