Wie implementiert man Rekursion in PHP?
Hallo zusammen! Bitte sagt mir, wie man Rekursion in PHP richtig implementiert. Ich schreibe eine Funktion zum Durchlaufen eines mehrdimensionalen Arrays und zum Zählen aller Werte, aber als Ausgabe erhalte ich entweder 0 oder eine Endlosschleife.
Hier ist, was ich versucht habe:
function recursiveSum($arr) {\n static $sum = 0;\n foreach ($arr as $value) {\n if (is_array($value)) {\n recursiveSum($value);\n } else {\n $sum += $value;\n }\n }\n return $sum;\n}\n\n$data = [1, [2, 3], [4, [5, 6]]];\necho recursiveSum($data); // erwartet: 21Das Problem ist, dass bei wiederholten Aufrufen der Funktion mit verschiedenen Arrays das Ergebnis aufgrund der static-Variable akkumuliert wird. Ich habe auch versucht, die Summe per Referenz (&$sum) zu übergeben, aber dann gibt die Funktion unerwartete Werte zurück. Weit