使用定义函数销毁定义的键
Posted
技术标签:
【中文标题】使用定义函数销毁定义的键【英文标题】:Destroy defined key with define function 【发布时间】:2012-06-25 08:43:58 【问题描述】:我怎样才能销毁一个常量?我尝试了 unset( KEY ),但不起作用。
<?php
define('KEY', 'value');
echo KEY; //output value
unset( KEY ); //no work
?>
【问题讨论】:
常量的全部意义在于它在定义后是不可变的。由于您无法更改其值,因此无法取消设置它。 【参考方案1】:使用
runkit_constant_remove ( 'KEY' );
http://php.net/manual/es/function.runkit-constant-remove.php
【讨论】:
【参考方案2】:您不能在 PHP 中销毁或取消设置常量,并且它的值不能随 de Script 更改。
【讨论】:
【参考方案3】:这是不可能的。如果你可以取消设置一个常数,那么它就不会很常数了!
如果你真的需要删除这个常量,你可能需要使用一个变量。
【讨论】:
停止假设我们需要做什么。程序员需要的人、工作和功能比你想象的要多。【参考方案4】:您不能在运行时销毁常量或更改其值。
最好的选择是使用变量。
$key = "value";
echo $key;
unset($key);
更不用说;如果可以,那将是非常糟糕的做法:P
【讨论】:
【参考方案5】:最接近取消设置常量的方法是使用 RunKit 扩展。见http://php.net/manual/en/function.runkit-constant-remove.php
【讨论】:
【参考方案6】:使用define()
创建的常量一旦创建就不能取消定义。
【讨论】:
以上是关于使用定义函数销毁定义的键的主要内容,如果未能解决你的问题,请参考以下文章