dedlfix: Dateien öffnen, die in einer txt-Datei stehen

Beitrag lesen

echo $begrüßung;

foreach ($namen_d as $element) {
      $element = trim($element);
      $a='"';

Ich nehme an, dass das noch nicht der ganze Quelltext war, ansonsten hat die Zuweisung an $a innerhalb des foreach keinen gesteigerten Wert.

"${$element}_d"=file("txt/{$element}");
      }

Hier setzt du einen String zusammen, dem du etwas zuweist. Was natürlich einen Syntax-Fehler hervorruft, da man Strings nichts zuweisen kann. Was du eigentlich wolltest ist eine Variable zu erstellen, deren Name sich aus dem Inhalt von $element und einem '_d' ergibt: ${$element . '_d'} = ...

Innerhalb "txt/{$element}" kannst du die geschweiften Klammern weglassen. Sie schaden zwar nicht, aber sie bringen in dem Fall auch nichts.

Vermutlich ist auch das Verwenden von variablen Variablennamen nicht notwendig, und es wird sich sicherlich eine bessere Lösung für deine eigentliche Aufgabe finden lassen.
Der Name der Variablen kommt von außerhalb. Du weißt während du das Script erstellst nicht, was zur Laufzeit für Variablennamen vorhanden sein werden. Du musst also immer prüfen, ob die Variable vorhanden ist, bevor du damit was anstellen kannst. Genauso gut kannst du auch prüfen, ob ein Array einen bestimmten Wert oder Schlüssel enthält.

echo "$verabschiedung $name";