• 什么情况下可以不写PHP的结束标签“?>”


    我们经常看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下必须写?先来看2个例子:

    下面的代码正常运行:

    <?php
        echo 123456;

    下面的代码报错:

    <?php
        echo 123456;
        <p>abc</p>

    原因分析:

    前者是纯php代码,可以不写结束标签,也不推荐写结束标签;后者除了php代码,还有html代码,必须要写结束标签。

    为什么不推荐前者写结束标签?

    在不写php结束标签时,默认从开始标签往后都是php代码,如果有其他代码,那就会报错。php只能运行在php标签里面的脚本,在脚本之外的所 有字符,包括你看不见的空格或者回车,制表符号,都是作为输出内容会response到客户端的,这样就有可能会产生意想不到的事情。例如文件里面使用了 header函数,这个文件同时又包含了另外一个文件,并且被包含的文件的php标签外有空字符,这个时候会报header already send的错误。我们查看一些网页的源代码看到的开头部分有很多空格和换行,就是因为这个原因导致的。

    解决方案建议:

    库文件、或者一些class文件等只有纯php代码的文件不推荐加结束标签。

  • 相关阅读:
    Linux PHP连接MSSQL
    Curl参数一览
    [android开发必备] Android开发者社区汇总
    android定时器
    一个mysql小技巧
    php empty问题
    周报_2012第16周(2012/04/152012/04/21)
    周报_2012第17周(2012/04/222012/04/28)
    周报_2013第04周(2013/01/202013/01/26)
    周报_2013第01周(2012/12/302012/01/05)
  • 原文地址:https://www.cnblogs.com/savokiss/p/3935514.html
Copyright © 2020-2023  润新知