Antwort #16 am: 05. März 2015, 07:56:55
Du hast Recht, nehme alles zurück und behaupte das Gegenteil.
Mit diesem hier
Nachtrag:
if (!FOO) { ...
weil, wenn die Konstante mit einem leeren String definiert ist Boolean 'false' return-t wird.
hast du mich allerdings unglücklich zitiert, oder nein, besser, ich habe mich unglücklich ausgedrückt.
Ich meinte ja, daß es so ist:
define('FOO', '');echo FOO ?
'FOO ist true' : 'FOO ist false<br />'; // ergibt: FOO ist falseecho !FOO ?
'!FOO ist true' : '!FOO ist false'; // ergibt: !FOO ist true Also die Frage
if(FOO) würde
false ergeben.
Das konnte man eigtl. aus dem Kontext entnehmen
...
Will man also abbfragen ob FOO ein leerer String ist ist das ursprüngliche
if(SECURITY_CODE_LENGTH == '') { ...
korrekt,
oder eben einfach
if (!FOO) { ...
weil, wenn die Konstante mit einem leeren String definiert ist Boolean 'false' return-t wird.
...
Ist aber meine Schuld, da ich nicht gesagt habe
wann genau Boolean 'false' return-t wird
(mal abgesehen von dem doppelten "b" bei "abbfragen"
).
Und natürlich kann man eine definierte Konstante nicht überschreiben, habe gepennt gestern Abend.
Gruß,
noRiddle