![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałem zrobić tablice wymiarowe generowane dynamicznie przez pętlę. Wygląda ona tak:
Można łatwo zobaczyć, że "pierwszy" wymiar tablicy musi być tworzony przez zmienną, która jest zwiększana po każdym kółku pętli. Musiałem tak zrobić, ponieważ:
Dawało błędy. Podejrzewam, że na przykład przy pierwszym zakręceniu tej pętli zmienne wyglądały w ten sposób:
Czy jest jakaś możliwość dynamicznego generowania tablic, ale bez użycia tej zmiennej $i ? Nie wiem dlaczego, ale bardzo mi się ona nie podoba. Pewnie dlatego, że zmienne z liczbą bardziej pasują do pętli for. Więc jeśli byłby sposób, żeby usunąć tą zmienną z pętli.... -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
co za problem tę pętlę while przerobić na for?
inaczej nie zrobisz, bo sam zauzażyłeś, że indeks [] tworzy nowy indeks o wartości o jeden więckszej niż poprzedni, -------------------- :]
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A nie mogło by być coś takiego:
? Ten post edytował Mephistofeles 6.03.2009, 20:01:06 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
co za problem tę pętlę while przerobić na for? inaczej nie zrobisz, bo sam zauzażyłeś, że indeks [] tworzy nowy indeks o wartości o jeden więckszej niż poprzedni, Nie, muszę mieć pętlę while, ponieważ z założenia nie wiem, ile wyników zwróci mi funkcja while. A nie mogło by być coś takiego:
? Nie, ponieważ potrzebna jest mi teoretycznie jedna zmienna (bo tylko jedną można zwrócić z funkcji, chyba że się mylę) -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Eee, że co? Przecież w obu rozwiązaniach zwracasz tablicę. A o ile się nie mylę, to w PHP przypisanie jednej tablicy do drugiej jest równoznaczne ze stworzeniem tablicy dwuwymiarowej.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 3 Dołączył: 23.12.2008 Skąd: Piaseczno Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to rozwiązał tak....
Ten post edytował mlattari 7.03.2009, 04:02:51 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A moje rozwiązanie jest jakieś złe? Sam takie stosuję do załadowania do tablicy dwuwymiarowej XMLa z językiem i działa. Najpierw ładuję do jednej tablicy dane z jednej kategorii, a potem całą tablicę daję do drugiej tablicy, i tak aż do końca.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
W sumie to jeśli nie kasujesz rekordów w tablicy to możesz dać $tablica[ $wynik['id'] ][1]=$wynik['cos'];
wtedy masz $i++ pobrane z bazy , a przecież i tak pobierasz wszystko ![]() A i taka propozycja -> jak pobierasz zamiast * wypis co chcesz pobrać, szybciej się wykona zapytanie, dodatkowo stosuj nazwy w tablicy zamiast 1,2,3 co by zrobić kod czytelniejszym . |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
mlattari, po co tyle petli?
Asmox, a pętla for to gorsza? ![]() tak wygląda pętla nieskończona:
tak wygląda nieskończona pętla ale z licznikiem:
a tak wygląda pętla w sam raz dla ciebie:
a tak wygląda twoje rozwiązanie:
interesujące? -------------------- :]
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Heh, niezłe, nie wiedziałem, że kilka instrukcji można do fora wstawić
![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz jeszcze zrobić:
-------------------- 9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..." |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A co to ma wspólnego z bazą?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zrozumiałem, że chcesz zrobić to bez $i:
-------------------- 9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..." |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
problem został rozwiązany w moim powyzszym poście, jesli koniecznie bez $i to:
-------------------- :]
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
OK, dobra, chyba mój przykład najbardziej mi się podobał... Ale i tak dzięki za ciekawe propozycje
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 04:37 |