Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Probelm z tablicami...
Forum PHP.pl > Forum > Przedszkole
kamilos12
Witam, mam 2 tablice:
Pierwsza ma np. takie wartości:
  1. [0] => 2012-03-24
  2. [1] => 2012-03-24
  3. [2] => 2012-03-24
  4. [3] => 2012-03-24
  5. [4] => 2012-03-24
  6. [5] => 2012-03-24
  7. [6] => 2012-03-24
  8. [7] => 2012-03-24
  9. [8] => 2012-03-24
  10. [9] => 2012-03-24
  11. [10] => 2012-03-23
  12. [11] => 2012-03-23
  13. [12] => 2012-03-23
  14. [13] => 2012-03-23
  15. [14] => 2012-03-23
  16. [15] => 2012-03-23
  17. [16] => 2012-03-23
  18. [17] => 2012-03-22
  19. [18] => 2012-03-22
  20. [19] => 2012-03-22
  21. [20] => 2012-03-22


a druga natomiast:

  1. [0] => 1.64
  2. [1] => 1.64
  3. [2] => 1.64
  4. [3] => 1.64
  5. [4] => 1.64
  6. [5] => 1.64
  7. [6] => 1.64
  8. [7] => 1.64
  9. [8] => 1.64
  10. [9] => 1.64
  11. [10] => 1.64
  12. [11] => 1.64
  13. [12] => 1.64
  14. [13] => 1.64
  15. [14] => 1.64
  16. [15] => 1.64
  17. [16] => 1.64
  18. [17] => 1.64
  19. [18] => 1.64
  20. [19] => 1.64
  21. [20] => 1.64


Dodam że tablice sobie odpowiadają tzn. 2012-03-24 - 1.64 itd.

Chciałbym pobrać sumę liczb z drugiej tablicy dla każdej z dat, np. 2012-03-24 - 16.40

Pozdrawiam i proszę o pomoc wink.gif
kkpre
  1. <?
  2. $arr = array('0' => '2012-03-24',
  3. '1' => '2012-03-24',
  4. '2' => '2012-03-24',
  5. '3' => '2012-03-24',
  6. '4' => '2012-03-24',
  7. '6' => '2012-03-23',
  8. '7' => '2012-03-23',
  9. '8' => '2012-03-23',
  10. '9' => '2012-03-23',
  11. '10' => '2012-03-23');
  12.  
  13. $arr2 = array('0' => 1.64,
  14. '1' => 2.64,
  15. '2' => 3.64,
  16. '3' => 4.64,
  17. '4' => 5.64,
  18. '6' => 6.64,
  19. '7' => 7.64,
  20. '8' => 8.64,
  21. '9' => 9.64,
  22. '10' => 10.64);
  23.  
  24.  
  25. foreach($arr as $nr => $val){
  26. $arr3[$arr[$nr]] = $arr3[$arr[$nr]]+$arr2[$nr];
  27. }
  28.  
  29.  
  30. echo "<pre>";
  31. var_dump($arr3);
  32. echo "</pre>";
  33.  
  34. ?>


wynik:
Kod
array(2) {
  ["2012-03-24"]=>
  float(18.2)
  ["2012-03-23"]=>
  float(43.2)
}


Tworzy 3 tablice i po kolei dodaje wartości do odpowiedniej daty, a więc wywołanie echo $arr3["2012-03-23"] zwróci sumę wszystkich wartości $arr2 dla tego dnia.

Oczywiscie nie może być żadnych cudzysłowów przy wartościach drugiej tablicy, bo żeby dodawać liczby z przecinkiem to musi być jako float, a po dodaniu cudzysłowów skrypt traktowałby to jako string.

Dałem przykładowo inne wartości w drugiej tablicy i troche mniej ich zrobiłem bo nie chciało mi sie robić 20 tongue.gif
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.