Um ein Array von Checkboxen mit PHP zu setzen, verwende ich codierte Dezimalzahlen aus einem DB. Zum Beispiel 5. Dezember (binär 0000 0101 Sätze checkbox
1 und 3-checked
ich einen ternären Operator wie in diesem Beispiel für Checkbox. 1:.Warum brauche ich Klammern im Bedingungsteil eines ternären PHP-Operators
(5 & 1 == 1 ? 'checked' : '')
Das Ergebnis ist false
, obwohl es true
sein sollte
Nur wenn ich zusätzliche Klammer im Bedingungsteil verwenden (5 & 1) == 1
ich das richtige Ergebnis erhalten schließlich das Beispiel wie folgt aussehen muss.
((5 & 1) == 1 ? 'checked' : '')
Weiß jemand, warum Sie Klammern so verwenden müssen?
Schauen Sie in [Operator Vorrang] (http://php.net/manual/en/language.operators.precedence.php) –
Nun, was meinst du? Willst du zuerst nach '1 == 1' oder nach '5 & 1' suchen? – scrappedcola
@ John Conde - Ok, so hat eine'Comparisionª einen höheren Vorrang als ein'Bitwöchiger' Operator, danke. Wenn du eine Antwort postest, werde ich es überprüfen. – Ben