![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam tu tablicę wielowymiarową
Mój problem polega na tym że chciałbym odczytywać i edytować taką tablicę, lecz nie sposobem:
lecz; mając zmienną np;
z odczytem sobie poradziłem, gorzej z zapisem w określonym miejscu. Porszę o pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja wiem, że prosisz o pomoc i zaleci spamem, ale muszę zapytać... PO CO?
Masz tu fragment manuala: http://php.net/manual/en/language.variables.variable.php Z tego zrobisz co chcesz. ALE PO CO? ![]() Ten post edytował Navyman 20.09.2011, 01:29:11 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Najwygodniej będzie ci to zrobić obudowując tablicę klasą implementującą interfejs ArrayAcces, prosta i ładna
![]()
Ten post edytował wizu 20.09.2011, 11:59:47 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Najwygodniej będzie ci to zrobić obudowując tablicę klasą implementującą interfejs ArrayAcces, prosta i ładna ![]()
Wiedziałem że będę musiał obiekty robić, raczkuje w tym jeszcze. W tym gotowcu co podałeś jak załączę swoją tablicę to przy zmianie wartości wywala mi błąd Fatal error: Cannot create references to/from string offsets nor overloaded objects in /********/test.php on line 22 w twoim przykładzie jest to 21 wers |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Pewnie za głęboko szukasz (tzn pozycja którą przechodzisz jest stringiem, a nie tablicą).
Podałem Ci bazową implementację, musisz ją sobie sam rozbudować, żeby była odporna na tego typu błędy ![]() Powodzenia. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ja osobiście skłoniłbym się do przemyślenia problemu jeszcze raz i nie opakowywałbym takiej tablicy w obiekt, a raczej zamieniłbym twoją tablicę na grupy powiązanych obiektów. Tablica z takim poziomem zagnieżdżenia z pewnością może zostać rozbita i przepisana w coś bardziej funkcjonalnego i przyjemniejszego dla oka.
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie za głęboko szukasz (tzn pozycja którą przechodzisz jest stringiem, a nie tablicą). Podałem Ci bazową implementację, musisz ją sobie sam rozbudować, żeby była odporna na tego typu błędy ![]() Powodzenia. Niestety czy podam ścieżkę do stringu czy do tablicy to wywala ten sam błąd, chyba nie dam rady tego naprawić Ja osobiście skłoniłbym się do przemyślenia problemu jeszcze raz i nie opakowywałbym takiej tablicy w obiekt, a raczej zamieniłbym twoją tablicę na grupy powiązanych obiektów. Tablica z takim poziomem zagnieżdżenia z pewnością może zostać rozbita i przepisana w coś bardziej funkcjonalnego i przyjemniejszego dla oka. Mój problem polega na tym że nie umiem jeszcze operować na obiektach. Jeszcze nigdy nie miałem takiego problemu żeby na forum pisać ![]() moja tablica opiera sie na pliku typu json i właśnie tam chciałbym zostawić wszystkie dane a tablica musi być miesz na i może osiągnąć nawet 50 wymiarów ta tablica może osiągnąć nawet 50 wymiarów i przechowuje ją w json'ie i musi być mieszana stąd taki problem |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mój problem polega na tym że nie umiem jeszcze operować na obiektach. Zawsze musi być ten pierwszy raz:D A im szybciej tym lepiej:D może osiągnąć nawet 50 wymiarów W takim wypadku, jeżeli chcesz to zrobić dobrze i żeby po x okresie czasu nikt (bądź ty sam:) nie musiał na Ciebie bluzgać, to powinno być zmienione. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zawsze musi być ten pierwszy raz:D A im szybciej tym lepiej:D W takim wypadku, jeżeli chcesz to zrobić dobrze i żeby po x okresie czasu nikt (bądź ty sam:) nie musiał na Ciebie bluzgać, to powinno być zmienione. Nie mogę tego zmienić, gdyż musi to być bardzo mocno rozbudowana baza, a w moim przypadku im większa tym lepiej |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Rozbudowana baza to nie jest coś co wyklucza zmiany bądź stosowanie obiektów. Właściwie, to jeżeli jest bardzo rozbudowana baza, to te obiekty ułatwiają później zrozumienie logiki działania całej aplikacji. Oczywiście przeprowadzenie takiej operacji na żywym organizmie jest trudniejsze, ale to już twoja decyzja:)
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Rozbudowana baza to nie jest coś co wyklucza zmiany bądź stosowanie obiektów. Właściwie, to jeżeli jest bardzo rozbudowana baza, to te obiekty ułatwiają później zrozumienie logiki działania całej aplikacji. Oczywiście przeprowadzenie takiej operacji na żywym organizmie jest trudniejsze, ale to już twoja decyzja:) jeszcze nie jest to żywy organizm. Czy mógłbyś troszkę bardziej mnie oświecić w jaki sposób mógłby przebudować to ? |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czy mógłbyś troszkę bardziej mnie oświecić w jaki sposób mógłby przebudować to ? Bez znajomości logiki tzn. tego, co tam się dzieje i dlaczego takie próby 'oświecenia' to raczej spełzną na niczym:) -------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chcę zrobić kreator misji tzn. piszę opis sytuacji i daje kilka opcji do wyboru. Po wypostowaniu tego musi się to znaleźć w tablicy. Następnie klikam na jedną z opcji którą wcześniej dodałem i znów piszę ospis sytuacji i dodaje kilka opcji itd..
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wyjęte z Kohany 2.3.4:
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Chcę zrobić kreator misji tzn. piszę opis sytuacji i daje kilka opcji do wyboru. Po wypostowaniu tego musi się to znaleźć w tablicy. Następnie klikam na jedną z opcji którą wcześniej dodałem i znów piszę ospis sytuacji i dodaje kilka opcji itd.. Czyli rozumiem, że robisz coś takiego (muszę sobie to łopatologicznie przedstawić dla lepszego zrozumienia:): - tworzę misję UratujMisia, dodaję opis: 'Pomóż Ani uratować misia z rąk złej, brzydkiej czarownicy'. I dodaję opcje: SzukajMisiaWZamku, SzukajWLochach, SzukajWPokojuAni - następnie biorę opcję SzukajMisiaWZamku, dodaję opis: 'Przeszukaj cały zamek, wszystkie komnaty i wypytaj ludzi, czy nie widzieli misia'. Dodaję opcje: SzukajWKomnacieKrólewskiej, SzukajWJadalni etc. i oczywiście te kroki powtarzamy zagłębiając się jeszcze głębiej. O to chodzi? Jak nie, to rzuć przykładem, jeżeli tak, to twoim rozwiązaniem jest: Composite lub po polsku. Ten post edytował bastard13 21.09.2011, 09:33:36 -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli rozumiem, że robisz coś takiego (muszę sobie to łopatologicznie przedstawić dla lepszego zrozumienia:): - tworzę misję UratujMisia, dodaję opis: 'Pomóż Ani uratować misia z rąk złej, brzydkiej czarownicy'. I dodaję opcje: SzukajMisiaWZamku, SzukajWLochach, SzukajWPokojuAni - następnie biorę opcję SzukajMisiaWZamku, dodaję opis: 'Przeszukaj cały zamek, wszystkie komnaty i wypytaj ludzi, czy nie widzieli misia'. Dodaję opcje: SzukajWKomnacieKrólewskiej, SzukajWJadalni etc. i oczywiście te kroki powtarzamy zagłębiając się jeszcze głębiej. O to chodzi? Jak nie, to rzuć przykładem, jeżeli tak, to twoim rozwiązaniem jest: Composite lub po polsku. Tak, dokładnie o to mi chodzi, przeszukałem google i niestety głównie wzorce są dla jawy i trochę tego nie ogarniam, ale posiedzę trochę nad tym bo teraz już wiem przynajmniej czego szukam. Nie ukrywam że wolałbym sam napisać ten skrypt brakuje mi tylko zapisu nowych danych do aplikacji. Dzięki za pomoc. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:38 |