• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lepszy sposób od if

Aruba Cloud - Virtual Private Server VPS
0 głosów
240 wizyt
pytanie zadane 29 sierpnia 2022 w PHP przez Doge Gaduła (3,420 p.)

Witam, czy jest lepszy sposób na zapisanie

                if($field_number <= 20) echo "1000$";
                else if($field_number <= 40) echo "2000$";
                else if($field_number <= 60) echo "3000$";
                else if($field_number <= 80) echo "4000$";
                else if($field_number <= 100) echo "5000$";
                else if($field_number <= 120) echo "6000$";
                else if($field_number <= 140) echo "7000$";
                else if($field_number <= 160) echo "8000$";
                else if($field_number <= 180) echo "9000$";
                else if($field_number <= 200) echo "10000$";
                else if($field_number <= 220) echo "11000$";
                else if($field_number <= 240) echo "12000$";
                else if($field_number <= 260) echo "13000$";
                else if($field_number <= 280) echo "14000$";
                else if($field_number <= 300) echo "15000$";
                else if($field_number <= 320) echo "16000$";
                else if($field_number <= 340) echo "17000$";
                else if($field_number <= 360) echo "18000$";
                else if($field_number <= 380) echo "19000$";
                else if($field_number <= 400) echo "20000$";

?

1 odpowiedź

+2 głosów
odpowiedź 29 sierpnia 2022 przez Arkadiusz Waluk Ekspert (290,050 p.)
wybrane 30 sierpnia 2022 przez Doge
 
Najlepsza
Tak na szybko patrząc, to zakładając, że numer zawsze rośnie o 20 i razem z nim kwota zawsze o 1000, można po prostu podzielić $field_number przez 20, zaokrąglić w górę i pomnożyć przez 1000. Powinno obsłużyć wszystkie przypadki oprócz 0, bo mnożenie zera da 0.
komentarz 30 sierpnia 2022 przez Doge Gaduła (3,420 p.)
A czy da się zrobić jakoś dla przypadku, gdzie nie rośnie o 1000 za każdym razem?
1
komentarz 30 sierpnia 2022 przez Arkadiusz Waluk Ekspert (290,050 p.)
Jeśli kwota rośnie np. zawsze o 2000 to możesz analogicznie pomnożyć razy 2000 zamiast 1000 ;) A zakładając, że i numery i kwoty mogłyby być zupełnie różne, ale działało by to na podobnej zasadzie (czyli że wszystko co mniejsze lub równe niż dany numer ma daną kwotę) pewnie próbowałbym to zebrać w tablicy numer => kwota, posortować i później w pętli szukać kwoty dla danej liczby.

Podobne pytania

0 głosów
1 odpowiedź 184 wizyt
pytanie zadane 1 lipca 2021 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
0 odpowiedzi 59 wizyt
+4 głosów
2 odpowiedzi 830 wizyt

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...