无法检查是否设置了变量

时间:2016-03-11 07:49:41

标签: php

if(!isset($GLOBALS["tpl_loaded"]) || isset($GLOBALS["tpl_loaded"]) && $GLOBALS["tpl_loaded"] !== true)
{
    die("You need to run this function after <b>load_template</b>!");
}

这是我的add_template函数,它为已加载的模板添加了更多模板。 load_template在添加模板($GLOBALS["tpl_loaded"] = true)后设置了一个值,我只想在首先运行load_template时才使用add_template,但我总是得到

  

你需要跑......

即使我运行load_template

2 个答案:

答案 0 :(得分:1)

试试这个;

if(isset($GLOBALS["tpl_loaded"]) && !empty($GLOBALS["tpl_loaded"]))
{
    echo 'You need to run this function after <b>load_template</b>!';die;
}

答案 1 :(得分:1)

只需使用!empty即可。这是检查变量是否被声明而不是空的最佳解决方案。

  

isset()检查变量是否有   值包括(False,0或空   string),但不是NULL。返回TRUE   如果var存在;否则就错了。

     

另一方面是empty()函数   检查变量是否为空   value空字符串,0,NULL或   假。如果var有一个,则返回FALSE   非空和非零值。&#34;

if (!empty($GLOBALS["tpl_loaded"]) && ($GLOBALS["tpl_loaded"] !== true)) {
    echo 'You need to run this function after <b>load_template</b>!';
    die;
}