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

做php开发的小伙伴们,我们经常在一个php文件里不加?> 结束符的,有没有人想过这是为什么

我们先来看下加和不加的区别

1.加上?> 结束符,之后的内容会被视为纯文本输出,直到再次碰到 或 <?php

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

我们来看下例子:

$a = 1;

$b= 2;

echo $a;

?>

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

d5388cb33b639c1313ffb3a98e79d8b7.png

微信截图_20200111212353.png

我们发现两个回车符也输出了。

那我们再看下如果不加结束符的情况

$a = 1;

$b= 2;

echo $a;

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

4970356f8dc21db64aa35cf96c8b7a42.png

微信截图_20200111213019.png

我们发现后面的换行符不会输出

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

a.php

$a = 1;

$b = 2;

?>

b.php

include 'a.php';

session_start()

$b = 123;

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

5399fcdca711760a13f06a651852330a.png

微信截图_20200111214658.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值