Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JSON usuwanie danych
lukaskolista
post
Post #1





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Witam. Mam taki oto obiekt JSON
  1. {"nextId":3,"data":[
  2. {"id":1,"userName":"lukaskolista","content":"1","time":"2010-10-03 21:08:45"},
  3. {"id":2,"userName":"lukaskolista","content":"2","time":"2010-10-03 21:08:48"}
  4. ]}

pobieram go nastepujaco
  1. $file = file_get_contents('json.txt');
  2. $json = json_decode($file);

jak usunac z niego 1 element tablicy data?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Rozumiem, że funkcja json_decode wrzuca treść pliku do tablicy? Jeżeli tak to przeleć tablice pętlą usuń dany element używając unset() i zapisz wynik z powrotem do pliku
Go to the top of the page
+Quote Post
lukaskolista
post
Post #3





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


  1. unset($json->data[0]);

to powoduje, ze przy ponownym zapisie do pliku data z tablicy staje sie obiektem, nie mam pojecia czemu, bo gdy przed zapisem wyswietlam ja przez var_dump() wszystko jest ok
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Hmm trochę na około ale może naprowadzi Cię na rozwiązanie ;]
  1.  
  2. foreach($json as $a => $list) {
  3.  
  4. $list = trim($list);
  5.  
  6. if($list == "nazwa indexu do usuniecia") { $index = $a; break; }
  7. }
  8.  
  9. unset($json[$index]);
  10.  
  11. foreach($json as $list) $txt .= trim($list)."<br>"; // tu wstaw coś do tworzenia nowej tablicy zamiast stringa
  12.  
  13. echo $txt;


ps. to jest do tablicy jednowymiarowej dla większej ilości wymiarów trzeba dodać kolejne pętle
Go to the top of the page
+Quote Post
lukaskolista
post
Post #5





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


nie chodzi mi o to, ktory index usuwac, tylko dlaczego po usunieciu ktoregokolwiek zapisuje tablice jako obiekt
Go to the top of the page
+Quote Post
paxton
post
Post #6





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 22.06.2009
Skąd: Londyn, UK

Ostrzeżenie: (0%)
-----


Dodaj drugi argument TRUE do json_decode, wtedy bedziesz miec array nie obiekt. Czytaj dokumentacje
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 01:35