![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Zakładamy, że są 3 liczby naturalne X, Y, Z. X to ilość elementów w pewnym zbiorze Y to ilość grup, na które chcemy ten zbiór podzielić Z to nr grupy, którą chcemy wyświetlić Dzieląc np. 83 na 5 grup zostanie nam troszkę reszty (3), więc tą trójkę rozkładamy pojedynczo na 3 pierwsze grupy więc powstają nam takie grupy: 1 = od 0 do 16 2 = od 17 do 33 3 = od 34 do 50 4 = od 51 do 66 5 = od 67 do 82 Numery tak naprawdę przedstawiają indexy w tablicach, które tworzone są automatycznie, stąd fakt, że pierwsza grupa zaczyna się zerem, a ostatnia kończy się 82. Stworzyłem na szybko taką funkcje, która zwraca mi tablicę z odpowiadającymi indexami danej grupy, powiedzcie czy zrobilibyście to zupełnie inaczej, czy... czekam na uwagi.
Pozdrawiam! Krzysiek -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił tak:
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Kszychu, mój imenniku: mi nie chodzi o wyświetlenie po ile grupy mają elementów (aczkolwiek, ładnie to Ci wyszło), tylko o wyświetlenie numerów [indexów], które będą znajdować się w tej grupie.
--- Moje zastosowanie dla x/y/z 83/5/2 zwraca:array(17) { [0]=> float(17) [1]=> float(18) [2]=> float(19) [3]=> float(20) [4]=> float(21) [5]=> float(22) [6]=> float(23) [7]=> float(24) [8]=> float(25) [9]=> float(26) [10]=> float(27) [11]=> float(28) [12]=> float(29) [13]=> float(30) [14]=> float(31) [15]=> float(32) [16]=> float(33) } Ten post edytował Krzychur 5.05.2006, 14:09:56 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie troszke przekombinowales.
Ja bym to zrobil z grubsza tak:
PS. nie testowalem, pisze z pracy na szybko, wiec nie gwarantuje dzialania, ale sprawdze to pozniej. -------------------- Brak czasu :/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 17.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
A ja bym to zrobił tak:
Funkcja array_chunk dzieli tablice na części Mam nadzieje żę o to ci chodzi ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
FiDO, w przypadku 83,5,2 to się sprawdza, ale niestety dla np. 83,5,5 już pojawiają się nieprawidłowe wartości. Ale bardzo dobrze, że urzyłeś czegoś takiego jak range. Nigdy nie korzystałem z tej funkcji, a ona pozwoli mi usunąć pętle w mojej funkcji.
Teraz jest:
Ta już przybiera kształty, które bardziej lubię ![]() ---- matrach, niestety zobacz ostatni argument. Chunk dzieli w sposób taki, że pierwsze tablice mają maximium wartości, a ostatnia stanowi tylko dopełnienie. Ten post edytował Krzychur 5.05.2006, 15:31:11 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 13:03 |