php文件中为什么有的php有结束符,有的没有结束符

php文件中,有的php文件存在结束符"?>",有的就不存在

严格意义上是要求有的,但是可以没有。类似于html你可以没有html标签,浏览器会自动识别并补充。

PHP的类文件不需要结束符

楼上两位回答的并不完善,给你个完善的。
如果是PHP和HTML混编时,一定要有结束符号?>,否则有可能导致语法错误。
如果是一个纯粹的PHP页面,最后的结束符?>最好一定不要添加,这么东西可以避免使session_start()失效,也可以避免SQL注入

赞同楼上的说法:
(1)如果是PHP和HTML混编时,一定要有结束符号?>,否则有可能导致语法错误。
(2)如果是一个纯粹的PHP页面,最后的结束符?>最好一定不要添加
好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些动作之前不能有输出,如果不小心在?> 后边加了不可见字符(多余的空格、换行符)等破坏页面显示,就会报”Header already sent”错误,不写的话不会有此问题。另,可以直接把光标移到最后,接着编程。
坏处:在dreamweaver的视图模式下,一团糟。

不要听他们胡扯,一定要加上?>,否则dw和notepad++都识别不出来,为什么?人家也要解析啊,搞那么累干嘛,统一一下就好了。