Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Suma danych z json
Forum PHP.pl > Forum > Przedszkole
brzanek
Witam mam problem z sumowaniem danych w pliku json i wyświetlenie ich w php
Mam taki kod
  1. $json = "dane.json";
  2. $json = file_get_contents($json);
  3. $response = json_decode($json, true);
  4.  
  5. $dzien1 = array(8,9,10,11,12,13,14,15,16);
  6. foreach ($dzien1 as $dwd) {
  7. echo $response['hourly']['precipitation_best_match'][$dwd];
  8. }

Wynik mam 0 0 0 0 0.3 0.6 0.1 0 0 (wszystkie wartości) czyli jest ok

Teraz chciałbym to zsumować za pomocą array_sum
  1. $json = "dane.json";
  2. $json = file_get_contents($json);
  3. $response = json_decode($json, true);
  4.  
  5. $dzien1 = array(8,9,10,11,12,13,14,15,16);
  6. foreach ($dzien1 as $dwd) {
  7. echo array_sum($response['hourly']['precipitation_best_match'][$dwd]);
  8. }

Powinno być 1.0 ale
Nic się nie pojawia - dlaczego?
gino
dla każdego dnia masz jeden wynik, w pętli foreach sumujesz tak naprawdę zawsze tylko jeden element tablicy, tak nie zrobi Ci sumy elementów całej tablicy.
Kod
    $json = "dane.json";
    $json = file_get_contents($json);
    $response = json_decode($json, true);
     $arr = [];
    $dzien1 = array(8,9,10,11,12,13,14,15,16);    
    foreach ($dzien1 as $dwd) {
    array_push($arr, $response['hourly']['precipitation_best_match'][$dwd]);
    }
echo array_sum($arr);


Piszę z palca ale myślę że już wiesz o co chodzi.

edit: a tak w ogóle to Twój kod powinien wypluć fatal error, pytanie (retoryczne) dlaczego tego nie robi?

Edit 2: nie chciało mi się pisać wczoraj, kończę dzisiaj, możesz zainicjować zmienna np. $suma i w pętli foreach:
Kod
$suma += $response['hourly']['precipitation_best_match'][$dwd])

i tyle.
brzanek
Racja,
  1. $suma += $response['hourly']['precipitation_best_match'][$dwd])
też tak robiłem ale bez ()
Teraz
  1. $suma += ($response['hourly']['precipitation_best_match'][$dwd]);

Działa - dzięki
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.