【发布时间】:2011-05-13 02:33:48
【问题描述】:
我知道想要更新或删除一个常量,如果它的意思是完全相反的,但这是我的问题。
我希望能够以与常量相同的方式格式化一个值。即:回声富;
它可以是纯文本,而不是像$foo 这样的变量。
这似乎是一件很愚蠢的事情,但我希望能利用它。但是,如果这不可能,我想就是这样。
PS。我'会'只是将它定义为一个常量,但是我希望它能够更新(比如在 foreach 期间重新定义它)。
【问题讨论】:
我知道想要更新或删除一个常量,如果它的意思是完全相反的,但这是我的问题。
我希望能够以与常量相同的方式格式化一个值。即:回声富;
它可以是纯文本,而不是像$foo 这样的变量。
这似乎是一件很愚蠢的事情,但我希望能利用它。但是,如果这不可能,我想就是这样。
PS。我'会'只是将它定义为一个常量,但是我希望它能够更新(比如在 foreach 期间重新定义它)。
【问题讨论】:
有点。第一个必须不区分大小写:
define("myConstant", "blah", true);
print myConstant; // blah
define("myConstant", "xxxx"); // No warning outputted
print myConstant; // xxxx
但是,不要这样做!常数的全部意义在于它是常数。尽管您似乎意识到了这一点,但与更清晰的代码风格相比,额外的 $ 符号有什么问题?
【讨论】:
根据http://www.php.net/manual/en/function.define.php#92327,如有必要,您可以即时重新定义常量。
define("FIRST_CONSTANT", 'my 1st value', true);
echo FIRST_CONSTANT;
// my 1st value
define('FIRST_CONSTANT', 'my 2nd value');
echo FIRST_CONSTANT;
// my 2nd value
【讨论】:
你可以像这样使用函数的名称:
<?php
function hello(){ return "bla"; }
$a = hello;
$b = $a();
echo $b;
?>
【讨论】: