PHP EOT定界符的使用详解

yipeiwu_com5年前PHP代码库
结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。
如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
不能用定界符语法初始化类成员。用其它字符串语法替代。 例子 11-3. 非法的例子
PHP代码
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。 例子 11-4. 定界符字符串例子
PHP代码
<?php
$str = <<<EOT
Example of string
spanning multiple lines
using heredoc syntax.
EOT;
/* More complex example, with variables. */
class foo
{
var $foo;
var $bar;
function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}
$foo = new foo();
$name = 'MyName';
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>
注: 定界符支持是 PHP 4 中加入的。
如何在php中输出html代码(EOT)
PHP代码
<?php
echo <<< EOT
<table width=80% border="2" cellpadding="3" cellspacing="0" bordercolor="#808080">
<tr bgcolor="#84A9E1">
<td align="center">ClassID</td>
<td align="center">stuno</td>
<td align="center">学生姓名</td>
<td align="center">家长姓名</td>
<td align="center">家长手机号</td>
</tr>
EOT;
?>

相关文章

php跨站攻击实例分析

本文实例讲述了php跨站攻击的原理与防范技巧。分享给大家供大家参考。具体方法分析如下: 跨站攻击就是利用程序上的一些细节或bug问题进行的,那么我们要如何耿防止跨站攻击呢?下面就以一个防...

PHP PDOStatement::setFetchMode讲解

PDOStatement::setFetchMode PDOStatement::setFetchMode — 为语句设置默认的获取模式。(PHP 5 >= 5.1.0, PECL...

php使用fsockopen函数发送post,get请求获取网页内容的方法

本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$post =1; $url...

教你如何在CI框架中使用 .htaccess 隐藏url中index.php

秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用。也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式: http://l...

PHP的autoload机制的实现解析

一、autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计...