Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dane z json - maksymalne wartości
Forum PHP.pl > Forum > Przedszkole
brzanek
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
Salvation
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?
trueblue
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]];
brzanek
Wielkie dzięki o to mi chodziło - pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.