Auge: Problem bei eienr IF Abfrage (isset($a->name) ? if($a->name==1)'

Beitrag lesen

Hallo

Ich möchte … innerhalb dieser Prozdur noch eine Abfrage machen, ob ein bestimmter Wert vorhanden ist, doch hier geht es nicht weiter und ich bekomme folgende Fehlermeldung

Parse error: syntax error, unexpected 'if' (T_IF) in

<td>'.(isset($a->name) ? if($a->name==1)'<img src="yes.png" alt="">' : '<img src="no.png" alt="">').'</td>

Du willst also erst prüfen, ob $a->name existiert und dann, ob es den Wert 1 hat. Für eine der Bedingunen fehlt aber der Else-Zweig. Der muss bei einem ternären Operator für jede der gestellten Bedingungen vorhanden sein.

Prüfung, ob $a->name existiert, Speicherung in einer Variable statt der Ausgabe:

<?php $var = isset($a->name) ? true : false; ?>

Im Fall true soll nun weiterhin nach dem Wert unterschieden werden.

<?php $var = ($a->name == 1) ? 'ja' : 'nein'; ?>

Nun mit den Klammern die Schachtelung der Anweisungen klarstellen:

<?php $var = isset($a->name) ? (($a->name == 1) ? 'ja' : 'nein') : false; ?>

Tschö, Auge

--
Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview