note 114426 added to function.define
| From: | daevid at daevid dot com | Date: | Wed, 19 Feb 2014 17:45:53 +0000 |
| Subject: | note 114426 added to function.define | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-198551@lists.php.net to get a copy of this message | ||
Be aware that undefined constants are not evaluated the same as undefined variables (which is
frustratingly counter-intuitive)...
$ php -a
php > if (!DO_IT) echo "don't do it\n"; else echo "do it\n";
do it
php > var_dump(DO_IT);
string(5) "DO_IT"
php > if (!$DO_IT) echo "don't do it\n"; else echo "do it\n";
don't do it
php > var_dump($DO_IT);
NULL
You have to specifically check for the definition like so...
php > if(!defined('DO_IT') || (defined('DO_IT') && !DO_IT))echo
"don't do it\n"; else echo "do it\n";
don't do it
*sigh*
----
Server IP: 64.71.164.2
Probable Submitter: 75.147.180.77
----
Manual Page -- http://php.net/manual/en/function.define.php
Edit -- https://master.php.net/note/edit/114426
Del: integrated -- https://master.php.net/note/delete/114426/integrated
Del: useless -- https://master.php.net/note/delete/114426/useless
Del: bad code -- https://master.php.net/note/delete/114426/bad+code
Del: spam -- https://master.php.net/note/delete/114426/spam
Del: non-english -- https://master.php.net/note/delete/114426/non-english
Del: in docs -- https://master.php.net/note/delete/114426/in+docs
Del: other reasons-- https://master.php.net/note/delete/114426
Reject -- https://master.php.net/note/reject/114426
Search -- https://master.php.net/manage/user-notes.php