Array_sum erzeugt fehler: array_sum() expects parameter 1 to be array, float given in ..?
Hallo zusammen,
ich sitze jetzt schon seit 2 Tagen an diesem Problem und bekomme es einfach nicht gelöst.
Und zwar versuche ich den Wert eines Arrays in PHP zu summieren der Array sieht so aussieht:
Array
(
[0] => 4311.281896326
)
Array
(
[0] => 1690.9655824545
)
Array
(
[0] => 66.906156047461
)
Doch das einzige was erscheint ist folgender Fehler: array_sum() expects parameter 1 to be array, float given in ...
Hier ist der Code:
$statement = $pdo->prepare("SELECT SUM(cash) as cash, currencyid FROM cash WHERE user_id = :user_id AND status = :status GROUP BY currencyid");
$statement->execute(array('user_id' => $user["id"], 'status' => true));
while($result = $statement->fetch()){
$value = cashValue($result["currencyid"])*$result["cash"];
$sum = array();
$sum = $value;
echo array_sum($sum);
}
2 Antworten
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Naja, die Fehlermeldung ist eigentlich recht eindeutig: array_sum() braucht als Argument ein Array, bekommt aber einen Float. Ich vermute es handelt sich bei $value um einen Float, daher wird aus $sum ebenfalls ein Float. Wenn meine Recherche korrekt ist kannst du dem Array mit
$sum[] = $value;
einen Wert hinzufügen.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Wie schaut es damit aus:
while($result = $statement->fetch()){
$value = cashValue($result["currencyid"])*$result["cash"];
$sum[] = $value;
}
echo array_sum($sum);
![](https://images.gutefrage.net/media/user/LeBonyt/1553190555784_nmmslarge__5_5_160_160_23469c76ccd9796e9cb38ca6b6f0ac87.png?v=1553190556000)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Perfekt danke dir das war die Lösung... Oh maaan und dafür hab ich jetzt 2 ganze Tage beraucht...
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Das ganze Funkioniert mit Xampp aber sobald ich das auf dem Webserver habe erscheint wieder die gleiche Fehlermeldung weißt du woran das liegen könnte ?
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
![](https://images.gutefrage.net/media/user/TitusPullo/1511905658658_nmmslarge__0_23_580_580_db8ac69b55a5651920f2947f9d1e255d.jpg?v=1511905659000)
Naja der Fehler steht eigentlich schon in deiner Frage, array_sum erwartet ein array aber du übergibst ihm float
Hab das ganze jetzt korrigiert:
Das Ergebnis: 4292.59404331825972.11519460436039.0753723129
Also leider immer noch nicht das ergebnis sondern nur den gesamten Array.