Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Preszukiwanie tablicy - przypisanie liczby do przedziału
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


mam tablicę:
  1. $array= array('36', '30', '24', '18', '12', '6');


oraz liczbę: 22
Jak zmusić php, aby wskazał mi, w którym miejscu w tablicy ($array) leży przedział do którego zalicza się ta liczba 22?
Obecnie ta liczba mieści się w przedziale 18 - 24 ponieważ jest większa od 18, ale mniejsza od 24.
Mam wielką nadzieję, że jest możliwość sprawdzenia tego, nie lecąc liczba po liczbie w tablicy $array, np. pętlą foreach() (IMG:style_emoticons/default/sad.gif)

Dzięki.

Ten post edytował Michael2318 31.03.2013, 19:50:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Tak, tablica zawsze będzie posortowana w taki sposób, jaki zademonstrowałem.
mam już dwie pętle for, nie widzi mi się wrzucanie tam trzeciej pętli bo to będzie mało optymalne :/

Sprawdzanie czy liczba jest największa lub najmniejsza już z głowy:

  1. // sprawdzamy czy liczba należy do najwyższego przedziału
  2. if ( $dane[$j] >= $poziome[(count($poziome))] )
  3. {
  4. $y_end = $poziom_end[($poziome[(count($poziome))])];
  5. break;
  6. }
  7. else if ( $dane[$j] <= $poziome[0] ) // jeśli nie to sprawdzamy czy liczba należy do najniższego przedziału
  8. {
  9. $y_end = $poziom_end[0];
  10. break;
  11. }


Ale nie wiem co dalej, jak dalej szukać tego przedziału ;/
PS. Wyżej akurat zrobiłem tak, że jeśli liczba wykracza poza przedział to przypisana zostaje wartość największa (na przykładzie będzie to 36), a jesli jest znów mniejsza bądź równa liczbie najmniejszej z tablicy to właśnie ta najmniejsza liczba zostanie przypisana do zmiennej.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 06:02