首页 >PHP讨论组 >关于defined('AUTH')问题

关于defined('AUTH')问题关于defined('AUTH')问题

<?php

//如果为defined('AUTH')存在AUTH常量则为true,不访问后面的exit了。如果为false则执行exit

defined('AUTH') or exit('存在安全因素不准访问');

?>

为嘛输出结果:存在安全因素不准访问?  常量AUTH没有赋值,怎么直接当false而执行exit了??



 
1
 
+1
-1
 
分享
全部回复 (1)我来回答
    寻觅 beyond
    1楼
    寻觅 beyond · 2个月前

    <?php
    if(!defined('AUTH')){
    	exit("不准访问....")
    }
    ?>

    上面的代码和你的等价,

    你写的注释是对的,但是你的问题好像和你的注释反了,你先搞清楚or是有个短路定理,有两个条件a or b,如果a为真,不会继续判断b是否为真,只有当a为假时,才判断b是否为真。defined()相当于a,而exit()相当于b,你已经说了AUTH没有赋值,则defined为假,判断exit(),而exit()始终为真,所以执行exit()

      赞+1添加回复

    首页上一页1下一页尾页