Ich habe folgende Array von Objekten:Hinweis: Undefined offset während throw Looping ein Array von Objekten mit foreach
Array
(
[0] => Array
(
[0] => stdClass Object
(
[Sales] => 4
)
[1] => stdClass Object
(
[Sales] => 6
)
[2] => stdClass Object
(
[Sales] => 5
)
)
[1] => Array
(
[0] => stdClass Object
(
[Sales] => 8
)
[1] => stdClass Object
(
[Sales] => 7
)
[2] => stdClass Object
(
[Sales] => 7
)
)
[2] => Array
(
[0] => stdClass Object
(
[Sales] => 5
)
[1] => stdClass Object
(
[Sales] => 7
)
[2] => stdClass Object
(
[Sales] => 6
)
)
[3] => Array
(
[0] => stdClass Object
(
[Sales] => 5
)
[1] => stdClass Object
(
[Sales] => 6
)
[2] => stdClass Object
(
[Sales] => 6
)
)
[4] => Array
(
[0] => stdClass Object
(
[Sales] => 4
)
[1] => stdClass Object
(
[Sales] => 5
)
[2] => stdClass Object
(
[Sales] => 11
)
)
)
Ich möchte den Gesamtumsatz in jedem der Objekte erhalten. Also schrieb ich diesen Code:
public function getChannelsSales ($ChannelSales) {
$totalChannelSales = array();
$i = 0;
foreach ($ChannelSales as $ChSales) {
foreach ($ChSales as $value) {
$totalChannelSales[$i] = $totalChannelSales [$i] + $value->Sales;
}
++$i;
}
return $totalChannelSales;
}
Nach dem Ausführen des Codes ich die richtige Antwort:
Array
(
[0] => 15
[1] => 22
[2] => 18
[3] => 17
[4] => 20
)
aber ich auch in der Froint die folgenden Meldungen enden:
Notice: Undefined offset: 0 in ...\Sales.php on line 174
Notice: Undefined offset: 1 in ...\Sales.php on line 174
Notice: Undefined offset: 2 in ...\Sales.php on line 174
Notice: Undefined offset: 3 in ...\Sales.php on line 174
Notice: Undefined offset: 4 in ...\Sales.php on line 174
Linie 174 ist dieses:
$totalChannelSales[$i] = $totalChannelSales[$i] + $value->Sales;
Und ich bekomme nicht wo ist das Problem, wenn auch die Antwort richtig ist (wie Sie sich summieren könnten)
Irgendwelche Idee?
EDIT:
I eine Lösung, die durch Zugabe des doppelten Linie
$totalChannelSales[0] = 0;
-
bekommen haben
- einmal nach dem Array zu schaffen und vor dem ersten foreach
- ein zweites Mal zwischen den beiden für jeden nach dem ersten foreach endet
schreiben $ totalChannelSales [$ i] = $ value-> Sales; – RJParikh
'$ totalChannelSales [$ i] = $ wert-> Verkäufe;' –