PHP EOT定界符的使用详解


Posted in PHP onSeptember 30, 2008

结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。
如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
不能用定界符语法初始化类成员。用其它字符串语法替代。 例子 11-3. 非法的例子

<?
class foo {
public $bar = <<bar
EOT;
}
?>


定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。 例子 11-4. 定界符字符串例子

<?
$str = <<Example of string
spanning multiple lines
using heredoc syntax.
EOT;

/* More complex example, with variables. */
class foo
{
var $foo;
var $bar;
function foo()
{
$this-&gt;foo = 'Foo';
$this-&gt;bar = array('Bar1', 'Bar2', 'Bar3');
}
}
$foo = new foo();
$name = 'MyName';
echo &lt;&lt;My name is "$name". I am printing some $foo-&gt;foo.
Now, I am printing some {$foo-&gt;bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

#注: 定界符支持是 PHP 4 中加入的。
#如何在php中输出html代码(EOT)

<?php
echo <<< EOT
<table>
	<tbody>
		<tr>
			<td>ClassID</td>
			<td>stuno</td>
			<td>学生姓名</td>
			<td>家长姓名</td>
			<td>家长手机号</td>
		</tr>
	</tbody>
</table>
EOT;
?>

PHP 相关文章推荐
解决php中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
深入探讨PHP中的内存管理问题
Aug 31 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
php实现paypal 授权登录
May 28 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
微信 开发生成带参数的二维码的实例
Nov 23 PHP
PHP实现登录验证码校验功能
May 17 PHP
关于PHP中interface的用处详解
Jul 26 PHP
40个迹象表明你还是PHP菜鸟
Sep 29 #PHP
PHP网站基础优化方法小结
Sep 29 #PHP
10条PHP编程习惯助你找工作
Sep 29 #PHP
PHP生成带有雪花背景的验证码
Sep 28 #PHP
PHP编实现程动态图像的创建代码
Sep 28 #PHP
php 三维饼图的实现代码
Sep 28 #PHP
PHP控制网页过期时间的代码
Sep 28 #PHP
You might like
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
幼儿园教师节活动方案
2014/02/02 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
mysql 生成连续日期及变量赋值
2022/03/20 MySQL
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫