#50184 [Opn->Tbd]: Constants can be redefined
| From: | jani@php.net | Date: | Mon, 16 Nov 2009 09:35:45 +0000 |
| Subject: | #50184 [Opn->Tbd]: Constants can be redefined | ||
| References: | 1 | Groups: | php.bugs php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-3171@lists.php.net to get a copy of this message | ||
ID: 50184
Updated by: jani@php.net
Reported By: goatlabs at gmail dot com
-Status: Open
+Status: To be documented
-Bug Type: *Programming Data Structures
+Bug Type: Scripting Engine problem
Operating System: OSX 10.6.2; Debian Linux 5.0.3
PHP Version: 5.3.0
New Comment:
From manual notes:
A note on redefining:
Constants can't be redefined:
$ php -r "define('A', 1); var_dump('A'); define('A', 2);
var_dump('A');";
string(1) "A"
PHP Notice: Constant A already defined in Command line code on line 1
string(1) "A"
But using the case insensitive setting shows that the internal
representation is lower case:
$ php -r "define('A', 1, true); var_dump('A'); define('A', 2);
var_dump('A');";
string(1) "A"
string(1) "A"
Note the lower case 'a' in the second define() here:
$ php -r "define('A', 1, true); var_dump('A'); define('a', 2);
var_dump('A');";
string(1) "A"
PHP Notice: Constant a already defined in Command line code on line 1
string(1) "A"
(Short version: Yes, but no)
Previous Comments:
------------------------------------------------------------------------
[2009-11-16 03:59:24] goatlabs at gmail dot com
Note: the description should read:
define() constants can be modified if originally defined
"case-INsensitive"
------------------------------------------------------------------------
[2009-11-16 01:44:49] goatlabs at gmail dot com
Description:
------------
define() constants can be modified if originally defined case-sensitive
Reproduce code:
---------------
define('TEST', 'foo', true);
var_dump(TEST);
define('TEST', 'bar');
var_dump(TEST);
Expected result:
----------------
string(3) "foo"
string(3) "foo"
Actual result:
--------------
string(3) "foo"
string(3) "bar"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=50184&edit=1