Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dane z json - maksymalne wartości
brzanek
post 24.11.2022, 17:30:03
Post #1





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


Witam mam kolejny problem z któreym nie bardzo wiem jak sobie poradzić. Mam dane w pliku json. Chciałbym wyciągnąć te dane do php. Chodzi mi o najwyższe wartości. To mi się udało ale chciałbym dodać do tego datę. Tak wygląda kod.
  1. ini_set('display_errors',1);
  2. $urll = file_get_contents('dane.json');
  3. $urll = json_decode($urll, true);
  4. $opadmax = max($urll['daily']['precipitation_sum']);
  5. $dzien = $opadmax[($urll['daily']['time'])];
  6. echo $dzien;
  7.  
  8. echo '<div>Najsilniejszy dobowy opad deszczu '.$opadmax.' mm '.$dzien.'</div>';

Dane oczywiście pobiera tylko nie wiem jak jeszcze dodać datę.
Tak wygląda struktura json

  1. daily":
  2. {
  3. "time":[
  4. "1980-01-01",
  5. "1980-01-02",
  6. "1980-01-03",
  7. "1980-01-04",
  8. "1980-01-05",
  9. "1980-01-06",
  10. "1980-01-07",
  11. "1980-01-08",
  12. "1980-01-09"...]
  13. ,"rain_sum":[
  14. 1,
  15. 2,
  16. 3,
  17. 2,
  18. 3,
  19. 4,
  20. 5,
  21. 7,
  22. 8...]
  23. }


W tej linii
  1. echo '<div>Najsilniejszy dobowy opad deszczu '.$opadmax.' mm '.$dzien.'</div>';

Powinien być wynik i jest ale tylko 8 bez daty 1980-01-09

Ten post edytował brzanek 24.11.2022, 17:33:18
Go to the top of the page
+Quote Post
Salvation
post 24.11.2022, 19:09:56
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 70
Dołączył: 15.07.2014

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


Co tutaj próbowałeś zrobić?
  1. $dzien = $opadmax[($urll['daily']['time'])];

Może lepiej będzie jak najpierw poznasz składnię i wbudowane funkcje?
Go to the top of the page
+Quote Post
trueblue
post 24.11.2022, 19:26:35
Post #3





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Zakładam, że precipitation_sum to rain_sum.

Mając $opadmax, musisz znaleźć jego index. Wtedy ten index należy użyć od odczytu elementu z rain_sum.

  1. $maxs = array_keys($urll['daily']['rain_sum'], $opadmax);
  2. echo $urll['daily']['time'][$maxs[0]];


--------------------
Go to the top of the page
+Quote Post
brzanek
post 25.11.2022, 06:51:31
Post #4





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


Wielkie dzięki o to mi chodziło - pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 23:32