Php 检查常量是否为空
为什么这是不可能的Php 检查常量是否为空,php,Php,为什么这是不可能的 if(!empty( _MY_CONST)){ ... 但这是: $my_const = _MY_CONST; if(!empty($my_const)){ ... 我只是想通过引用常量本身使它更简洁。请参见:empty()是一种语言构造,而不是函数 empty()。换句话说,以下操作将不起作用:empty(trim($name)) 所以您必须使用一个变量-empty()是您首先真正想要的吗?例如,当常量的值为“0”时,它将返回true 也许您需要使用defin
if(!empty( _MY_CONST)){
...
但这是:
$my_const = _MY_CONST;
if(!empty($my_const)){
...
我只是想通过引用常量本身使它更简洁。请参见:
empty()
是一种语言构造,而不是函数
empty()。换句话说,以下操作将不起作用:empty(trim($name))
所以您必须使用一个变量-empty()
是您首先真正想要的吗?例如,当常量的值为“0”时,它将返回true
也许您需要使用defined()
来测试常量是否存在?只是让您知道您可以这样做
if(!empty(MY_CONST))
因为。如果出于某种原因,您仍然没有使用PHP5.5,那么您可以接受这一点
if (defined('MY_CONST') && MY_CONST) {
echo 'OK';
}
斯特伦呢
if(strlen(MY_CONST) == 0)
混合常量(字符串$name)
返回由$name指示的常量值,如果未定义该常量,则返回NULL
如果常量定义且需要检查是否为空,例如,您可以在配置文件中使用它,您可以使用!我的常数
:
define('MY_CONST', '');
if (!MY_CONST) {
echo 'MY_CONST is empty';
}
空不是期望一个变量吗?(在第一次通话中,它收到了一个恒定的信号。)谢谢佩卡。所以我必须保持常量分配给变量,对吗?我很确定常量的意义在于知道值是可预测的-也就是说,它是常量-那么为什么你甚至需要-测试空值?我非常好奇@jim yup-如果empty()
真的是你想要的?例如,当常量的值为“0”时,它将返回true。也许你想用defined()
代替?+1测试常量的存在性,引用手册,“empty()是(boolean)var的对立面”,因此如果(!\u MY_CONST)
我给常量分配了一个字符串,然后用它向用户显示消息,你就会得到预期的结果。我想测试常量是否为空,然后不显示任何消息。你会怎么处理?
if (!empty(constant('MY_CONST')) {
...
}
define('MY_CONST', '');
if (!MY_CONST) {
echo 'MY_CONST is empty';
}