鍍金池/ 問答/PHP/ isset() 在5.6報錯,在7.1不報錯,什么原因?

isset() 在5.6報錯,在7.1不報錯,什么原因?

const A  = 'f';
class DEMO{
    const X = [A=>1];
    static function bb($b){
        if( isset(self::X[$b]) ){
            echo 111;
        }else{
            echo 222;
        }
    }
}
DEMO::bb('f');

PHP Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in /usercode/file.php on line 7

回答
編輯回答
墻頭草

低版本的empty和isset都不支持表達式,這個在PHP7.x才實現(xiàn)

2018年9月19日 14:19