dedlfix: variable als variablenbezeichnung für array

Beitrag lesen

echo $begrüßung;

$varbez = 'bild'.$y;
  $$varbez[$x] = $einzel['dateiname'];

leider ist $bild0 nicht nur leer, es gibt sie nichteinmal,
sagt zumindest: if($bild0){echo "ok";}.
denk ich da irgendwie falsch oder steh ich aufm schlauch?

Beim Entwickeln von PHP ist es grundsätzlich von Vorteil, das error_reporting auf E_ALL stehen zu haben. Damit bekommt man Zugriffsfehler auf nicht vorhandene Variablen angezeigt. Das hilft dir hier, um beim Leseversuch von $bild0 zu erkennen, dass es diese Variable nicht gibt. Weiterhin ist für Kontrollausgaben var_dump() eine sehr hilfreiche Funktion.

Eine generelle Vorgehensweise bei Problemen wie deinem, wäre, sich nach dem Anlegeversuch einen Überblick über alle Variablen zu verschaffen. Das geht mit print_r($GLOBALS) oder var_dump($GLOBALS), aber nur für globale Variablen. Für lokale Variablen innerhalb von Funktionen gibt es das leider nicht so einfach[*]. Damit kannst du sehen, was für Variablen angelegt sind und dabei erkennen, dass irgendwas schief läuft und vielleicht auch schlussfolgern, warum das so ist.

[*] Alle lokal vorhandenen Variablen erhält in einem benutzerdefinierten Error-Handler mit einem mit trigger_error() oder anderweitig ausgelösten Fehler.

echo "$verabschiedung $name";