为什么有些php代码最后不加?>

做php开发的小伙伴们,我们经常在一个php文件里不加?> 结束符的,有没有人想过这是为什么
我们先来看下加和不加的区别
1.加上?> 结束符,之后的内容会被视为纯文本输出,直到再次碰到

  1. 不加?>结束符,之后的内容还是会被视为php代码,没有代码除外。

我们来看下例子:




我在结束符后面特意多打了两个回车符,那输出的结果是什么呢?


微信截图_20200111212353.png

我们发现两个回车符也输出了。
那我们再看下如果不加结束符的情况

同样,我在后面敲上两个回车符,我们看下输出结果:


微信截图_20200111213019.png

我们发现后面的换行符不会输出
实际应用中我们的项目中经常会包含另外一个文件,我们知道在session_start()函数前是不能有输出的,如果我们包含的那个文件先输出了就会导致报错。
a.php



b.php

那我们运行b.php 会得到怎样的结果呢?


微信截图_20200111214658.png

我们发现报了两个warning级别的错误 headers already sent by,由此可以发现如果我们在某些php中加结束符会导致报错,在实际应用中我们一般不加?>结束符。

你可能感兴趣的:(为什么有些php代码最后不加?>)