!defined('CURSCRIPT') && define('CURSCRIPT','');这行代码为什么是:检查是否定义一个产量,如果没定义,则定义为空?这样的话,是相当于if语句那样子?

解决方案 »

  1.   

    你说得没错,是逻辑与,!defined('CURSCRIPT')为真 则执行后面的 define('CURSCRIPT',''); 
      

  2.   

    &&只判断一边,当左边为真时,不执行右边,当左边为假时才执行右边~~
      

  3.   

    ||   只有左边假,才会执行右边&&   只有左边真,才会执行右边
      

  4.   

    !defined('CURSCRIPT') && define('CURSCRIPT','');这是短路原理
    如果 && 之前的错了 也就是 CURSCRIPT已经定义过了
    那么就不用执行后半句了
    如果没有定义
    即 !defined('CURSCRIPT') 为真~继续执行后半句~
    这样做效率比较高
      

  5.   

    对!!defined('CURSCRIPT') && define('CURSCRIPT','');相当于
    if(!defined('CURSCRIPT')) define('CURSCRIPT','');