dedlfix: Jeden existierenden Wert eines Arrays bearbeiten

Beitrag lesen

echo $begrueszung;

Warum das eine Endlosschleife gibt sehe ich nicht auf den ersten Blick,

Aber auf den zweiten Blick ist es mir dann aufgefallen...

ist bei rekursiven Funktionen aber ein "beliebtes" Problem ...

Soweit kommt es gar nicht, jedenfalls nicht tiefer als eine Ebene.

Am Anfang haben wir ein Array mit den beiden Keys 'A' und 'B'.
In einer for-Schleife, die bei 0 anfängt und bei count($array) (= 2) abbrechen soll, wird auf das Array-Element mit dem Key 0 zugegriffen. Dieses existiert nicht, PHP wirft eine Notice und legt gleichzeitig dieses Element an und begibt sich mit diesem in eine weitere Inkarnation von processArray(). Dort trifft is_array() nicht zu, wir landen im else-Zweig und kehren wieder zurück.
Beim nächsten Schleifendurchlauf ergibt count($array) mittlerweile 3, usw. usf. bis die "Allowed memory size of ... bytes exhausted"

echo "$verabschiedung $name";