美文网首页PHP实战PHP经验分享
为什么有些php代码最后不加?>

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

作者: 十年磨一剑1111 | 来源:发表于2020-01-11 21:29 被阅读0次

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

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

我们来看下例子:

<?php
$a = 1;
$b= 2;
echo $a;
?>


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


微信截图_20200111212353.png

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

<?php
$a = 1;
$b= 2;
echo $a;

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


微信截图_20200111213019.png

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

<?php
$a = 1;
$b = 2;
?>

b.php

<?php
include 'a.php';
session_start()
$b = 123;

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


微信截图_20200111214658.png

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

相关文章

网友评论

    本文标题:为什么有些php代码最后不加?>

    本文链接:https://www.haomeiwen.com/subject/dumbactx.html