我想在PHP中使用常量,但"WEB"
被解释为false
。我之前从未使用过常数,我错过了什么?
define("WEB", true);
define("MOBILE", false);
define("DESKTOP", false);
if (defined('MOBILE' == true) || defined('DESKTOP' == true) ){
echo "MOBILE or DESKTOP";
} else if (defined('WEB' == true)) {
echo "WEB";
}
答案 0 :(得分:4)
您错误地使用了defined()
。您没有检查是否定义了常量。你正在检查他们的价值观只需检查它们就像变量一样:
if (MOBILE == true || DESKTOP == true ){
echo "MOBILE or DESKTOP";
} else if (WEB == true) {
echo "WEB";
}
可以缩短为:
if (MOBILE || DESKTOP){
echo "MOBILE or DESKTOP";
} else if (WEB) {
echo "WEB";
}
答案 1 :(得分:0)
defined
为您提供常量是否存在,而不是其值。
if (MOBILE || DESKTOP){
echo "MOBILE or DESKTOP";
} else if (WEB) {
echo "WEB";
}
答案 2 :(得分:0)
如果要检查是否定义了常量,则代码应为:
define("WEB", true);
define("MOBILE", false);
define("DESKTOP", false);
if(defined('MOBILE') || defined('DESKTOP'))
echo "either MOBILE or DESKTOP is defined";
elseif(defined('WEB')) echo "WEB is defined";
如果要检查常量值是真还是假,它将是
if(MOBILE || DESKTOP)
echo "either MOBILE or DESKTOP is true";
elseif(WEB) echo "WEB is true";