![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z konwersją tablicy na inną tablicę.
Dane wejściowe:
Wyjście powinno wyglądać tak:
Czyli: W pierwszej tabeli mamy każde pole z osobna, ale jest tam id kolumny i wiersza. Muszę zamienić to na tablicę w postaci jak wyżej + jeśli jakieś pole nie istnieje to w wyjściowej tablicy ma mieć wartość "puste pole". Napisałem kod konwertujący tą tablicę, ale bez wypełnienia pusych pól, nie mam pomysłu jak sobie z tym poradzić. Oto mój kod:
Muszę go rozszerzyć o uzupełnianie pustych pól - pomożecie ![]() Z góry dzięki |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
Mógłbyś zserializować pierwszą tablicę i wkleić tutaj ? Pozdro. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tablica po serializacji:
Ten post edytował pkr 28.06.2012, 15:36:58 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Podałeś mi inną tablicę niż w pierwszym poście, ale powinno działać dla każdego przypadku.
Wyjście:
Pozdrawiam. Ten post edytował tolomei 28.06.2012, 16:26:43 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm podane przez ciebie rozwiązanie chyba nie działa dobrze, zobacz że na wejsciu masz 6 pól. Na wyjściu dwa z nich są oznaczone jako puste, czyli coś nie gra. Puste pole jest wtedy kiedy w ogóle nie ma go w wejściu. Wtedy na wyjściu powinno być stworzone pole w odpowiednim miejsciu z tekstem "emptyfield".
Ten post edytował pkr 29.06.2012, 10:03:16 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
O sorry pkr.
Chochlik mi jedynkę zjadł w 9. linii ![]()
Pozdrawiam. Ten post edytował tolomei 29.06.2012, 10:12:23 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmm kurcze tak bez patrzenia przekleiłem twój kod. Generalnie liczba kolumn nie jest stała, nie mogę założyć jakie będą ID. także to rozwiązanie trzeba jeszcze poprawić. ale i tak dzięki za pomoc
![]() Ten post edytował pkr 29.06.2012, 10:49:10 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Twój kod nie jest pełny.
- która zmienna oznacza dane wejściowe? - która zmienna oznacza dane wyjściowe? - skąd się bierze zmienna $i2 i jaką ma wartość początkową? - jaka jest wartość początkowa zmiennej $result? Ten post edytował tolomei 29.06.2012, 11:44:57 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
już odpowiadam:
- dane wejściowe to tablica $result - dane wyjścioe to tablica $rows - $i2 służy do oznaczania kolejnych wersów w tablicy wyjścia $rows, a jej wartość początkowa to 0 - wartością początkowa zmiennej $result jest tablica wg. wzoru w pierwszym poście (dane pochodzą z bazy mysql) no i ten kod poprawnie zamienia takie dane, ale brakuje mu tylko obsługi emptyfields :/ Ten post edytował pkr 29.06.2012, 12:16:46 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Nie przerobię Twojego skryptu.
Jeśli chcesz napiszę Ci taki od nowa na dowolną liczbę kolumn. Możemy zrobić tak, że index w wewnętrznej tablicy będzie odpowiadał numerowi kolumny:
Pasuje ? Oto i on:
Pozdrawiam. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 13.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Twoje rozwiązanie jest idealne
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:12 |