Suma elementów w tablicy asocjacyjnej

Suma elementów w tablicy asocjacyjnej
TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

W jaki sposób poprawić ten program, aby działał i liczył sumę elementów poniższej tablicy asocjacyjnej?

Kopiuj
$ilosc = array( $product_id => array( "quantity" => $quantity ));
echo "suma wynosi:" . array_sum($ilosc);

Dziękuję za pomoc.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1

Jeśli tylko jeden poziom, to

Kopiuj
echo "suma wynosi:" . array_sum($ilosc[$product_id]);

a jeśli wszystkie poziomy, to otwórz google i wpisz "php recursive array sum", dla przykładu

Kopiuj
function array_multisum(array $arr): float {
    $sum = array_sum($arr);
    foreach($arr as $child) {
        $sum += is_array($child) ? array_multisum($child) : 0;
    }
    return $sum;
}
TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Napisałem tak i sumuje mi tylko na jednym pziomie, a powinno na dwóch poziomach. Co tutaj zmienić ? Dzięki za podpowiedz.

Kopiuj
$ilosc = array( $product_id => array( "quantity" => $quantity ));

function array_multisum(array $arr): float {
    $ilosc = array_sum($arr);
    foreach($arr as $child) {
        $ilosc += is_array($child) ? array_multisum($child) : 0;
    }
    return $ilosc;
};

echo array_multisum($ilosc);
Kopiuj
Mamy jakieś pary liczbowe , w tych tablicach  (4,5), (2,1), (4,2) i nie sumuje tych liczb 
TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Dlaczego takie rozwiązanie nie działa i nie sumuje

Kopiuj
$tab = array(0);

$ilosc = array( "quantity" => $quantity);


array_push($tab, $ilosc);

echo "suma wynosi:" .array_sum($tab);

quantity zostaje dodana do tablicy $tab. Dlaczego w array_sum($tab) nie sumują się elementy ?

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
0

Przeanalizuj sobie coś takiego:

Kopiuj
<?php
$a=[];
array_push($a,['x'=>123]);
array_push($a,['x'=>10]);
var_dump($a); // jak wygląda tak stworzona tablica?
var_dump(array_sum($a));//co tutaj może być sumowane?
var_dump(array_sum(array_column($a,'x')));// co tutaj jest sumowane.
TE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Skąd bierze się ten błąd przy wykonywaniu select z bazy sql ?

Ta strona nie działaSerwer serwer2232156.home.pl nie może teraz obsłużyć tego żądania.
HTTP ERROR 500

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
telepatia napisał(a):

Skąd bierze się ten błąd przy wykonywaniu select z bazy sql ?

Ta strona nie działaSerwer serwer2232156.home.pl nie może teraz obsłużyć tego żądania.
HTTP ERROR 500

To nie koniecznie musi być błąd podczas wykonywania zapytania.

Większość serverów jest skonfigurowane w taki sposób że dowolny wyjątek jest pokazany jako 500.

L7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 434
1

Ehhh... quantity, select... no i serwer home. Po wpisaniu w wyszukiwarkę serwer2232156 mamy takie tematy jak:
Poniższy fragment kodu powoduje wyświetlenie produktów ze sklepu i to działa..Formularz nie przesyła danych.
Błąd składniowy w aplikacji z koszykiem

Znowu walka z koszykami :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.