尝试将注释赋值给变量会得到什么?$xyz赋值情况解析
PHP注释赋值相关问题解答
问题1:若尝试将注释赋值给变量,该变量会被赋予什么值?
在PHP里,注释是会被解析器完全忽略的内容,所以当你写类似 $var = // 这是一段注释 这样的代码时,解析器会把//及后面的内容全部丢掉,剩下的代码就变成了 $var = —— 这是明显的语法错误,因为赋值操作缺少了右侧的表达式。这种情况下,PHP会直接抛出语法错误(Parse error),变量根本不会被定义,更谈不上被赋予任何值。
问题2:在执行代码error_reporting(0); $xyz =// removed;时,$xyz会被赋予什么值?是null值还是会触发错误?
这里要明确一个关键知识点:语法错误属于编译阶段的错误,error_reporting(0)只能管控运行时错误,对编译阶段的语法错误完全无效。
刚才提到,$xyz =// removed; 会被解析成 $xyz =,这属于语法错误,PHP在编译这段代码的时候就会直接报错,脚本根本没机会进入运行阶段,error_reporting(0)自然也不会生效。最终的结果是:脚本直接触发语法错误终止执行,变量$xyz不会被创建,更不会被赋予null值。
举个实际运行的错误提示示例:
Parse error: syntax error, unexpected end of file in your_script.php on line X
内容的提问来源于stack exchange,提问作者Sanat Deshpande
相关产品推荐
相关产品推荐

