Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Obliczanie poziomów w tablicy
styryl
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

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


Mam tablice:

  1.  
  2. (
  3. [0] => Array
  4. (
  5. [id] => 6
  6. [poziom] => 1
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [id] => 9
  12. [poziom] => 2
  13. )
  14.  
  15. [2] => Array
  16. (
  17. [id] => 10
  18. [poziom] => 2
  19. )
  20.  
  21. [3] => Array
  22. (
  23. [id] => 11
  24. [poziom] => 2
  25. )
  26.  
  27. [4] => Array
  28. (
  29. [id] => 12
  30. [poziom] => 3
  31. )
  32.  
  33. [5] => Array
  34. (
  35. [id] => 13
  36. [poziom] => 3
  37. )
  38.  
  39. [6] => Array
  40. (
  41. [id] => 14
  42. [poziom] => 3
  43. )
  44.  
  45. [7] => Array
  46. (
  47. [id] => 7
  48. [poziom] => 1
  49. )
  50.  
  51. [8] => Array
  52. (
  53. [id] => 8
  54. [poziom] => 1
  55. )
  56.  
  57. )
  58.  


oraz mam jakąś liczbę równą bądź wiekszą od 0. Chce zrobić tak aby klucz 'poziom' został zamieniony zgodnie z regułą. Od najnższego poziomu w tablicy + 1 (czyli np: wszsytkie poziomy równe 2 (o ile jest to poziom najniższy ze wszsytkich w tablicy) mają być większe o 1 a każy następny wyższy poziom + 2 potem jeszcze wyższy + 3 itd) względem liczby którą mamy zdefiniowaną wcześniej czyli tą równą bądź większą niż 0.

Czyli gdybyśmy mieli zdefiniowaną wcześniej liczbę równą 3 to powyższa tablica powinna wyglądać tak:

  1.  
  2. (
  3. [0] => Array
  4. (
  5. [id] => 6
  6. [poziom] => 1 // najniższy poziom więć 3 + 1 = 4
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [id] => 9
  12. [poziom] => 2 // poziom wyższy czyli 3 + 2 = 5
  13. )
  14.  
  15. [2] => Array
  16. (
  17. [id] => 10
  18. [poziom] => 2 // poziom wyższy czyli 3 + 2 = 5
  19. )
  20.  
  21. [3] => Array
  22. (
  23. [id] => 11
  24. [poziom] => 2 // poziom wyższy czyli 3 + 2 = 5
  25. )
  26.  
  27. [4] => Array
  28. (
  29. [id] => 12
  30. [poziom] => 3 // poziom najwyższy czyli 3+3 = 6
  31. )
  32.  
  33. [5] => Array
  34. (
  35. [id] => 13
  36. [poziom] => 3 // poziom najwyższy czyli 3+3 = 6
  37. )
  38.  
  39. [6] => Array
  40. (
  41. [id] => 14
  42. [poziom] => 3 // poziom najwyższy czyli 3+3 = 6
  43. )
  44.  
  45. [7] => Array
  46. (
  47. [id] => 7
  48. [poziom] => 1 // najniższy poziom więć 3 + 1 = 4
  49. )
  50.  
  51. [8] => Array
  52. (
  53. [id] => 8
  54. [poziom] => 1 // najniższy poziom więć 3 + 1 = 4
  55. )
  56.  
  57. )



Nie wiem jak się do tego zabrać. Mam nadzieje że ktoś z was będzie miał pomysł jak to rozwiąząc. Pzdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kalmaceta
post
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


1. usort()
2a. pętla foreach +
2b. sprawdzanie i zapamiętywanie lvl
2c. aktualizacja poziom + lvl


--------------------
kAlmAcetA
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 20:25