经常看到一些PHP源码文件,有开始标记<?php却没有结束标记?>,这是为什么呢?
我去百度了一下,不外乎两点:
第一,文件末尾的 ?>可以省略
第二,该脚本若被其他脚本包含,所以该脚本不需要结束,否则会报错,因为是要和其他脚本衔接,只有在php代码后面需要写html的才使用闭合标签。
对于一些调用前不能有输出的函数,例如,header,setcookie等,如果在这些函数之前加载了一个有?>结尾的php文件,同时,你又不小心在?>结尾后加了换行等一些其他字符,这些空白字符由于放到了?>外边,是不会被php忽略的,这样话会当做一种输出,此时如果在header等函数调用之前加载一个文件,就会造成php的错误,如果没有结尾,则php语法会将空白忽略,从而不会发生错误