Rolf B: Parse error: syntax error, unexpected '}'

Beitrag lesen

Hallo Bernd,

dieser Code sieht aus, als wäre er Teil eines größeren Blocks voller Redundanz. Du fragst ab, ob es Donnerstag ist, und verwendest dann die Mitarbeiterlager-Einträge mit dem do_ Präfix. Hast Du Duplikate dieses Codes für die übrigen Wochentage? Und haben die auch diesen Fehler im "bis" Teil? Da steht nämlich do_von als Index 😂

Wenn ja, bietet sich hier einiges an Optimierung an. Man könnte ein Array machen, das den PHP Wochentagsnummern das Präfix in deiner Mitarbeiterlager-Tabelle zuordnet. Folgender Code kann alle Wochentage behandeln; es könnte sich auch anbieten, ihn in eine Funktion auszulagern. In deinem Code muss die Funktion natürlich nicht direkt hinter dem Echo stehen, die gehört zusammen mit deinen anderen Helper-Funktionen an einen passenden Ort.

echo zeitraumAusgabe($arrayMitarbeiterLager, $zeit);

function zeitraumAusgabe($kalender, $zeit) {
   static $tagPrefixe = [ 'so', 'mo', 'di', 'mi', 'do', 'fr', 'sa' ];
   $prefix = $tagPrefixe[date('w', $zeit)];
   if ($kalender[$prefix.'_von'] != "") {
      return $kalender[$prefix.'_von'] . " bis " . $kalender[$prefix.'_bis'] . " Uhr";
   } else {
      return 'ganztägig';
   }
}

Das static vor $tagPrefixe sorgt dafür, dass die Variable nur einmal angelegt wird und nicht bei jedem Aufruf von zeitraumAusgabe.

Rolf

--
sumpsi - posui - clusi