使用定义函数销毁定义的键

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() 创建的常量一旦创建就不能取消定义。

【讨论】:

以上是关于使用定义函数销毁定义的键的主要内容,如果未能解决你的问题,请参考以下文章

函数的定义解构及销毁过程

拷贝控制1(拷贝赋值与销毁)

第十天python3 函数的销毁

jQuery 在自定义插件上实现销毁方法

第22课.对象的销毁

动态内存与智能指针