我们经常看到有些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代码的文件不推荐加结束标签。

什么情况下可以不写PHP的结束标签“?”相关推荐

  1. mysql pom.xml版本号_maven的pom.xml的依赖,什么情况下可以不写版本号?

    maven的pom.xml的依赖,什么情况下可以不写版本号?  0  1640 风云剑客 2019/4/23 13:57:36 江苏 苏州 以前见过的pom.xml文件,依赖中都是必须有版本号的. ...

  2. php不用框架怎么写,教你在不使用框架的情况下也能写出现代化 PHP 代码

    file 我为你们准备了一个富有挑战性的事情.接下来你们将以 无 框架的方式开启一个项目之旅. 首先声明, 这篇并非又臭又长的反框架裹脚布文章.也不是推销 非原创 思想 .毕竟, 我们还将在接下来的开 ...

  3. html h1 h2 h3并列,H1、H2、H3标签分别在什么情况下使用?

    在seo的工作中,一个好的页面必须有h1\h2\h3,那么,H1.H2.H3标签分别在什么情况下使用? H1.H2.H3标签分别在什么情况下使用? H1:通常用于一个页面最重要的地方,这个要分不同的场 ...

  4. Chrome 插件:自己写的插件提示请停用以开发者模式运行的插件处理方法,该拓展程序未列在chrome网上应用商店中,并可能是在您不知情的情况下添加的解决办法

    Chrome 浏览器插件问题处理 第一章:问题描述 ① 问题一:请停用以开发者模式运行的插件 ② 问题二:该拓展程序未列在 chrome 网上应用商店中,并可能是在您不知情的情况下添加的 第二章:Ch ...

  5. ITK:在没有写访问权的情况下迭代图像中的区域

    ITK:在没有写访问权的情况下迭代图像中的区域 内容提要 输出结果 输入 输出 C++实现代码 内容提要 遍历图像的某个区域(无写访问权限). 输出结果 输入 输出 255 255 255 255 2 ...

  6. ITK:在没有写访问权的情况下遍历整个图像

    ITK:在没有写访问权的情况下遍历整个图像 内容提要 输出结果 C++实现代码 内容提要 在没有写访问权的情况下遍历整个图像. 输出结果 255 255 255 C++实现代码 #include &q ...

  7. 正常情况下ffmpeg生成moov是在mdat写完成之后写入

    可以分析MP4封装格式的工具比较多除了FFmpeg之外,还有一些常用工具,例如Elecard Stream Eye.MP4BOX.mp4info等:下面简单介绍一下这几款常见工具: 8.1 Eleca ...

  8. [css] 写出div在不固定高度的情况下水平垂直居中的方法?

    [css] 写出div在不固定高度的情况下水平垂直居中的方法? 我知道的有两种方法<!DOCTYPE html> <html><head><meta char ...

  9. [css] 写出在不固定宽高的元素在固定高度的情况下水平垂直居中的方法

    [css] 写出在不固定宽高的元素在固定高度的情况下水平垂直居中的方法 flex布局:还有就是可以用定位也可以实现等等: flex:父div:{display:flex: justify-conten ...

最新文章

  1. VB.NET 委托处理 传递参数
  2. vue商城项目开发:浏览器自动访问、路由样式修改及定义和导入组件
  3. 【Lolttery】项目开发日志 (二) 数据库的二三事
  4. django+asyncio资料调研整合
  5. dialog能提交数据吗_你的数据库,能撑起多少并发,有数吗?
  6. Vue 媒体处理(摄像头,截图,播放本地视频)
  7. Git初学札记(九)————EGit检出远程分支
  8. python sqlalchemy orm
  9. 【算法】赫夫曼编码 解码 实际应用 文件的编码 解码
  10. 【git】git compare with branch 一样的代码 但是却标识不一样 成块显示 Git 比较 不准确
  11. java知识点博客园_JAVA基础知识回顾
  12. python定时器启动多次_python 定时器
  13. VastBase账户锁The account has been locked
  14. 100以内的质数(基础算法)
  15. 苹果固件验证关闭服务器时间,苹果ios系统终于可以降级了,或关闭固件验证
  16. 微信公众号CSS样式常见问题解析
  17. 使用emitter的坑,
  18. Python “多爱你一点”照片墙
  19. uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天
  20. 知星社:学会了什么?

热门文章

  1. STM32使用DMA从串口读可变长度数据到内存
  2. 【OCP新题库】052最新题库解析-第5题
  3. shell   脚本之 continue 与break的用法
  4. maven之setting.xml的配置详解
  5. Blend Tree Type
  6. 田志刚北京大学CIO(信息总监)班讲知识管理
  7. ASP.NET 页生命周期概述
  8. Day3--js--可恶之变量声明提升大法.。。
  9. Symantec Endpoint Protection下载方法
  10. 热点推荐:程序员路在何方