Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sumowanie array
john_doe
post 26.08.2019, 08:31:49
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


mam taką tablicę
  1. array:164 [▼
  2. "2019-06-27" => array:2 [▼
  3. 0 => array:6 [▼
  4. "date" => "2019-06-27"
  5. "day" => "26"
  6. "quantity" => 4998
  7. "water" => 879.648
  8. "feed" => 494802
  9. "weight" => 4548180
  10. ]
  11. 1 => array:6 [▼
  12. "date" => "2019-06-27"
  13. "day" => "6"
  14. "quantity" => 1000
  15. "water" => 43.0
  16. "feed" => 31000
  17. "weight" => 160000
  18. ]
  19. ]
  20. "2019-06-28" => array:2 [▶]
  21. "2019-06-29" => array:2 [▶]
  22. "2019-06-30" => array:1 [▶]
  23. "2019-07-01" => array:1 [▶]
  24. "2019-07-02" => array:1 [▶]
  25.  


potrzebuję zsumować to co przedstawiłem rozwinięte powyżej. Suma quantity, water, etc...
Tak aby po tej operacji każdy klucz ( w moim przypadku data ) miałą jedną tablicę.

Punkt w którym się zatrzymałem.
  1. foreach($mojaTablica as $key => $val)
  2. {
  3. if(count($val) > 1)
  4. {
  5. $tmp = array();
  6.  
  7. foreach($val as $k => $v)
  8. {
  9. // $arrKeys = array_keys($v);
  10. //
  11. }
  12. }
  13. }


Ten post edytował john_doe 26.08.2019, 08:32:17
Go to the top of the page
+Quote Post
rad11
post 26.08.2019, 11:26:04
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


  1. $input = [
  2. '2019-06-27' => [
  3. [
  4. "date" => "2019-06-27",
  5. "day" => "26",
  6. "quantity" => 4998,
  7. "water" => 879.648,
  8. "feed" => 494802,
  9. "weight" => 4548180,
  10. ],
  11. [
  12. "date" => "2019-06-27",
  13. "day" => "6",
  14. "quantity" => 1000,
  15. "water" => 43.0,
  16. "feed" => 31000,
  17. "weight" => 160000,
  18. ]
  19. ],
  20. ];
  21.  
  22. $output = [];
  23.  
  24. foreach ($input as $date => $values) {
  25. foreach ($values as $value) {
  26. if (empty($output[$value['date']]['quantity'])) {
  27. $output[$value['date']]['quantity'] = 0.00;
  28. }
  29.  
  30. if (empty($output[$value['date']]['water'])) {
  31. $output[$value['date']]['water'] = 0.00;
  32. }
  33.  
  34. if (empty($output[$value['date']]['feed'])) {
  35. $output[$value['date']]['feed'] = 0;
  36. }
  37.  
  38. if (empty($output[$value['date']]['weight'])) {
  39. $output[$value['date']]['weight'] = 0;
  40. }
  41.  
  42. $output[$value['date']]['quantity'] += $value['quantity'];
  43. $output[$value['date']]['water'] += $value['water'];
  44. $output[$value['date']]['feed'] += $value['feed'];
  45. $output[$value['date']]['weight'] += $value['weight'];
  46. }
  47. }
  48.  
  49. var_dump($output);
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: 16.04.2024 - 17:57