![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taką tablicę:
W indeksie każdej zmiennej znajduje się liczba, która jest identyfikatorem. Moje pytanie brzmi - w jaki sposób można zapisać do takiej tablicy dane zapisane w ten sposób - całość wygląda tak: {"lista_kontaktow":[{"id":1,"imie":"andrzej","nazwisko":"kowalski","adres":"lipowa 27/2","ukryty":false},{"id":2,"imie":"michał","nazwisko":"zieliński","adres":"klonowa 11/7","ukryty":true}],"nazwa_kontaktow":null,"publiczna":true;} Tekst zaznaczony na czerwono należy wykasować. W miejscu, gdzie mamy zielony tekst znajduje się docelowa lista kontaktów, w niej informacje są zapisywane w sposób jak podano wyżej, a poszczególne kontakty dzieli przecinek. Takich kontaktów może być 5, a może być i 300, więc prosiłbym nie sugerować się tym, że są tam tylko 2 kontakty. W jaki sposób można to zrobić? Z góry dziękuję za pomoc, pozdrawiam, Sprouse Ten post edytował Sprouse 20.07.2010, 22:45:10 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 30.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Proponuję użycie tablicy wielowymiarowej:)
2 wymiarowa wystarczy:) Chyba że nie zrozumiałem zagadnienia, hehe. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
1 wymiarowa jest dla mnie najwygodniejsza.
A jak byś widział taką 2 wymiarową, co miałbym zapisywać w 2 indeksie? Osobiście nie mam pomysłu, rozwiń swoją myśl. ![]() I sama tablica, nawet i 100-wymiarowa mi nie pomoże, jeżeli nie będę wiedział jak zapisać takie dane. Dodam że jestem... właściwie to początkujący, jeśli chodzi o PHP. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat 1 wymiarowa jest dla mnie najwygodniejsza. Powiedz mi, pod jakim względem? Właśnie gdybyś zastosował wielowymiarową, miałbyś problem z głowy, bo byłoby to jedno przepisanie, a tak, to trzeba kombinować:
Życzę powodzenia, jeśli dojdzie więcej pól. Strzelasz sobie kulą armatnią w stopę. Nadal podtrzymuję swoje pytanie, w jaki sposób jest dla Ciebie wygodniej. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie przepraszam. Najwygodniejsza dlatego, że... hmm. Na początku miałem taką wizję tegoż kodu:
A jak wyglądałaby sprawa przy wielowymiarowej? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A w 2-wymiarowej:
Byłoby Nadal uważasz, że Twoja struktura jest lepsza? ![]() Ja mogę wywołać $lista_kontaktów[1], co zwróci mi tablicę danych usera z id=1, ale i $lista_kontaktów[3]['imie'], co zwróci mi imię usera o id=3 ![]() EDIT: A teraz sprawdź czy jakaś dana istnieje w Twoim układzie. Jak robię ja? if( array_key_exists('2', $lista_kontaktow) ) lub isset( $lista_kontaktow[2] ) a do konkretnego pola? isset($lista_kontaktow[2]['imie']). U Ciebie to drugie przejdzie też. Ale zrobisz to pierwsze? Czy zakończy się to sprawdzaniem if( isset( $imie[2]) && isset( $nazwisko[2]) && isset( $adres[2]) && isset( $ukryty[2])) ? -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
W Twoim przykładzie występuje błąd: Parse error: syntax error, unexpected '[', expecting ')', oczywiście chodzi o nawiasy kwadratowe [1], [2], [3], [4] i [5].
![]() No... przyznam, że dużo, dużo lepiej to wygląda niż moja wersja. Jednak odbiegliśmy nieco od wątku, gdyż nadal nie wiem w jaki sposób te dane zapisać do tablicy. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Bez kwadratowych i będzie ok.
Ale jak nie wiesz, jak zapisać, przecież dostałeś na tacy, jak trzeba, a w pierwszym poście napisałem Ci, jak skopiować z jednej do drugiej, może jakieś konkretne pytanie, a nie będziemy tylko wróżyć z fusów? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ech te nawiasy. Z rozpędu napisałem [1], [2] i dalej, choć ma być po prostu, bez nawiasów w kluczach. Tak jak już choćby w tablicy zagnieżdżonej, czyli: 'miasto' => ''
Z tego co widzę, to jakiś JSON chyba. Użyj więc JSON_decode i potem się baw dalej ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok, będzie bardziej konkretnie.
Szczerze powiedziawszy, oczekiwałem rozwiązania w PHP. Oczywiście, może być też Javascript, lecz nie znam tego języka tak dobrze, bym, drogi panie moderatorze, zrozumiał wszystko co napisałeś. ![]() ![]() ![]()
Ten post edytował Sprouse 22.07.2010, 13:24:52 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 21:13 |