PHP定界符使用技巧
PHP 使用 技巧 定界符
2023-06-13 09:14:10 时间
如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。
1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;
3.PHP定界符中的PHP变量会被正常的用其值来替换。
PHP中的定界符格式是这样的:
复制代码代码如下:
1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;
3.PHP定界符中的PHP变量会被正常的用其值来替换。
PHP中的定界符格式是这样的:
<<<Eof
……
Eof;
看起来很简单,但是其中有许多地方需要注意。
首先在<<<之后的字符Eof是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的。
在PHP定界符使用的过程中,第二个需要注意的问题——也是最经常出现问题的地方:
结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个这样的错误信息:
Parseerror:parseerror,unexpected$endin……,提示你语法错误;
第三个需要注意的是,如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,例如
<<<Eof
hello{$name}
Eof;
变量$name之所以要用{}括起来是要告诉PHP解析器这是一个PHP变量,其实不用也是可以的,但是有可能会产生歧义,例如你的变量后面刚好不是一字母或者特殊符号什么的会怎么样呢?千万不能有这样的写法
<<<Eof
hello<?phpecho$name?>
Eof;
这样的情况,你同样会收到一个语法错误的信息。先便是一个战地测试过的PHP定界符的正确写法。里面包含了,html和javascript的代码:
<?php
$name="kitty";
echo<<<Eof
<tableheight="20">
<tr><td>
{$name}<br/>
<script>
varp="helloworld";
document.writeln(p);
</script>
</td></tr>
</table>
Eof;
?>
相关文章
- php://input allow_url_include,DVWA设置PHP函数allow_url_include:已禁用
- docker使用笔记VI -- PHP
- 数据如何使用PHP在MySQL中添加数据(php添加mysql)
- 如何在Fedora 31上使用PHP和MariaDB(LEMP Stack)安装Nginx
- 连接MySQL数据库:使用PHP实现(使用php连接mysql)
- php在Linux上使用Yaf框架开发PHP应用(yaflinux)
- 解决方案PHP 解决 MySQL 乱码问题的好办法(mysql乱码php)
- 扩展如何在PHP中开启Redis扩展(php开启redis)
- 使用PHP与MySQL结合开发数据库应用(phpmysql结果集)
- Linux下如何调试PHP程序(linux调试php)
- PHP配置指南:MySQL编码设置详解(php设置mysql编码)
- 使用PHP实现Redis订阅功能(redis订阅php)
- 使用PHP连接MySQL数据库实现数据操作(php连接mysql类)
- 轻松设置PHP连接MySQL数据库(php设置连接mysql)
- 使用PHP编辑器轻松编写Linux平台代码(php编辑器linux)
- 如何使用Linux 查找安装PHP的位置?(linux查找php)
- 使用PHP和MySQL研究论文(php mysql 论文)
- 如何使用Redis技术来优化PHP性能(清楚redis php)
- php数组的一个悲剧?
- PHP的explode和implode的使用说明
- PHP删除文件与文件夹操作unlink()与rmdir()这两个函数的使用
- 第二章PHP入门基础之php代码写法
- php去除换行符的方法小结(PHP_EOL变量的使用)
- php全局变量和类配合使用深刻理解
- php生成数组的使用示例php全组合算法
- php使用curl访问https示例分享