<?php
define ('foo','');
if (defined('foo')){
if (empty(foo)){
echo "Notice: Foo Is Defined, But Does Not Carry A Value. Please Set It";
}
}如果有这个当前脚本,我将对用户需要在配置页面中定义的已定义常量运行一组检查。问题是,配置在没有定义的情况下发布:
define ('foo','');在运行脚本时,我首先检查必要的常量是否定义正确并且确实包含一个值。
问题是,如果值是定义的,我可以得到,但我不能正确地检查它是否为空。
我知道当传递一个变量为空的时候,如果我把我定义的常量传递给一个变量,是不是有点失当了?
<?php
define ('Foo','');
$Foo = Foo;
if (empty($Foo)){
echo "Foo Is Empty";
}
?>而我可能也会设置:
$Foo = 'Value';
$OtherConstant = 'Another';那么,当常量被定义时,我该如何检查常量是否带有值呢?
发布于 2013-04-10 01:54:20
您可以简单地这样做:
if (defined('foo')) {
echo 'defined';
if (foo) {
echo 'not empty';
}
else {
echo 'empty';
}
}
else {
echo 'not defined';
}如果foo为空字符串,则if(foo)条件将计算为false。empty()和转换为布尔值之间有细微的区别。有关其他情况,请参阅PHP手册。Boolean conversion,empty()
https://stackoverflow.com/questions/15908703
复制相似问题