文档章节

PHP中的定界符

ho俊
 ho俊
发布于 2016/06/24 16:16
字数 688
阅读 9
收藏 0

1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;
3.PHP定界符中的PHP变量会被正常的用其值来替换。

PHP中的定界符格式是这样的:

<<<Eof
……
Eof;

看起来很简单,但是其中有许多地方需要注意。

首先在<<<之后的字符Eof是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的。

在PHP定界符使用的过程中,第二个需要注意的问题——也是最经常出现问题的地方:

结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:
Parse error: parse error, unexpected $end in……,提示你语法错误;

第三个需要注意的是,如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,例如

<<<Eof
hello{$name}
Eof;

变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义,例如你的变量后面刚好不是一字母或者特殊符号什么的会怎么样呢?千万不能有这样的写法

<<<Eof
hello<?php echo $name?>
Eof;

这样的情况,你同样会收到一个语法错误的信息。先便是一个战地测试过的PHP定界符的正确写法。里面包含了,html和javascript的代码:

<?php
$name = 'kitty';
echo <<<Eof
<table height="20">
	<tr><td>
	{$name}<br/>
	<script>
	var p='hello world';
	document.writeln(p);
	</script>
	</td></tr>
</table>
Eof;
?>

本文转载自:http://www.cnblogs.com/gesenkof99/archive/2009/06/12/1501886.html

上一篇: CSS3中合模型
ho俊
粉丝 0
博文 43
码字总数 42490
作品 0
广州
程序员
私信 提问
PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容 正则替换:根据正则表达式匹配内容并替换 正则分割:根据正则表达式分割字符串 在...

ywppengpeng
2016/11/14
89
0
PHP中的正则表达式可以使用括号作为定界符

今天在读zend framework代码的时候,发现一段正则表达式是这样写的: 我感到有些困惑,因为长期以来的教育都是正则表达式的定界符应当前后一致,比如常见的'/.../'和' @... @'之类的。这里面...

小宏的爹
2012/12/18
917
1
php---------字符串转义函数(addslashes,stripslashes)

在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 stripslashes。 addslashes($string), 在指定的预定义字符前添加反斜杠 (),用于为存储在数据库中的字符串以及数据库查询...

切切歆语
2018/01/16
34
0
Parse error: syntax error, unexpected T_SL in php

弄字符串定界符的时候出现了这个问题,百度了一下,最后发现原来是定界符之间的空格问题,了解了问题之后我测试了一下,发现比如定界符是: <<<Eof hello,world。。。 Eof; 如果第一个Eof的后...

小姚
2012/05/09
4K
3
Thinkphp怎样修改模板标签定界符

大家都知道在thinkphp里面,我们是通过在控制器里面给模板分配变量,然后在模板里面通过标签的方式来获取变量,假设有一个变量为$name,那么我们在模板里面就应该是通过 {$name}的方式来获取...

汤圆
2012/12/21
124
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部