note 68935 added to function.defined

From: Date: Wed, 16 Aug 2006 15:28:06 +0000
Subject: note 68935 added to function.defined
Groups: php.notes 
Request: Send a blank email to php-notes+get-115976@lists.php.net to get a copy of this message
I am not sure if this is an intended behavior but after some testing with php5.1.4, I observed the following behavior: I realized that If you write defined('MYCONSTANT') everything will work as described above. If you write defined(MYCONSTANT) this seems only to be true if MYCONSTANT is defined AND some constant is defined twice (could be the constant MYCONSTANT itself or any other constant) This script shows what I have described: <? echo "<br>define myconstant"; define(MYCONSTANT, TRUE); echo "<br>My Constant is:".MYCONSTANT; echo "<br>Result of defined(MYCONSTANT)?:". defined(MYCONSTANT); echo "<br>Result of defined('MYCONSTANT')?:". defined('MYCONSTANT'); echo "<br><br> define some other constant"; define(OTHERCONSTANT, TRUE); echo "<br>My Constant is:".MYCONSTANT; echo "<br>Result of defined(MYCONSTANT)?:". defined(MYCONSTANT); echo "<br>Result of defined('MYCONSTANT')?:". defined('MYCONSTANT'); echo "<br><br> double define some other constant"; define(OTHERCONSTANT, TRUE); echo "<br>My Constant is:".MYCONSTANT; echo "<br>Result of defined(MYCONSTANT)?:". defined(MYCONSTANT); echo "<br>Result of defined('MYCONSTANT')?:". defined('MYCONSTANT'); ?> As a Result I get: define myconstant My Constant is:1 Result of defined(MYCONSTANT)?: Result of defined('MYCONSTANT')?:1 define some other constant My Constant is:1 Result of defined(MYCONSTANT)?: Result of defined('MYCONSTANT')?:1 double define some other constant My Constant is:1 Result of defined(MYCONSTANT)?:1 Result of defined('MYCONSTANT')?:1 ---- Server IP: 192.35.244.50 Probable Submitter: 212.183.52.31 ---- X-Spam-Status: No, hits=4.0 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER, HTML_MESSAGE,UPPERCASE_25_50 autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.defined.php Edit -- https://master.php.net/note/edit/68935 Del: integrated -- https://master.php.net/note/delete/68935/integrated Del: useless -- https://master.php.net/note/delete/68935/useless Del: bad code -- https://master.php.net/note/delete/68935/bad+code Del: spam -- https://master.php.net/note/delete/68935/spam Del: non-english -- https://master.php.net/note/delete/68935/non-english Del: in docs -- https://master.php.net/note/delete/68935/in+docs Del: other reasons-- https://master.php.net/note/delete/68935 Reject -- https://master.php.net/note/reject/68935 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#115976) next »