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中使用Oracle数据库(5)
Oct 09 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
php构造函数实例讲解
Nov 13 PHP
ubuntu12.04使用c编写php扩展模块教程分享
Dec 25 PHP
php输入流php://input使用浅析
Sep 02 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
详细解读php的命名空间(二)
Feb 21 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
php精度计算的问题解析
Jun 21 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
PHP中关于php.ini参数优化详解
Feb 28 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
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
node中的session的具体使用
2018/09/14 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
Python读写zip压缩文件的方法
2018/08/29 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
python中random模块详解
2021/03/01 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
一套Java笔试题
2016/08/20 面试题
英语自荐信常用语句
2013/12/13 职场文书
美德好少年事迹材料
2014/01/19 职场文书
党建目标管理责任书
2014/07/25 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
学籍证明模板
2014/11/21 职场文书
安全检查汇报材料
2014/12/26 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技
使用MybatisPlus打印sql语句
2022/04/22 SQL Server
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技