首页 > 编程语言 >php heredoc 与 nowdoc

php heredoc 与 nowdoc

时间:2024-04-12 15:56:41浏览次数:12  
标签:nowdoc heredoc html 句法结构 php 结构

php开发中我们会很经常的使用到html,有时候是很大一段html,直接在php中去编写html很是不方便,相信很多同学都遇到过,不用担心php中的定界符heredoc和nowdoc会帮助我们的,那就让我们一起来看看吧!

php heredoc 与 nowdoc

heredoc 结构

heredoc 句法结构:运算符之后要提供一个标识符,然后换行。接下来是字符串本身,最后要用前面定义的标识符作为结束标志。

<?php  
$content = <<<FDIPZONE  
<html>  
<head>  
<title>test</title>  
</head>  
<body>  
<p><img  src="http://www.csdn.net/css/logo.png" alt=" php heredoc 与 nowdoc" ></p>  
<p><a href=&#39;http://blog.csdn.net/fdipzone&#39;>blog</a></p>  
</body>  
</html>  
FDIPZONE;  
  
echo $content;  
?>

heredoc 结构不能用来初始化类的属性。自 PHP 5.3 起,此限制仅对 heredoc 包含变量时有效。下例将会出错。

<?php  
class test{  
  
public $var = &#39;123&#39;;  
  
public $a = <<<FDIPZONE  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>

heredoc结构中,变量将被替换,但方法不会。含有复杂的变量时要格外小心。

<?php  
$var = &#39;123&#39;;  
$content = <<<FDIPZONE  
$var time();  
FDIPZONE;  
  
echo $content; // 123 time();  
?>

 

nowdoc 结构

nowdoc 句法结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。这种结构很适合用于嵌入php代码或其它大段文本而无需对其中的特殊字符进行转义。

nowdoc 与 heredoc 结构一样的标记 <<<,但跟在后面的标识符必须用单引号括起来,即<<<'EOF'。 heredoc 结构的所有规则同样适用于nowdoc结构,尤其是结束标识符的规则。nowdoc是在php5.3之后才加入的。

<?php  
$var = &#39;123&#39;;  
$content = <<<&#39;FDIPZONE&#39;  
$var time();  
FDIPZONE;  
  
echo $content; // $var time(); $var没有被替换  
?>

nowdoc 结构可以用在任意的静态数据环境中,最典型的示例是用来初始化类的属性或常量。下例将不会出错,可以对比heredoc的例子。

<?php  
class test{  
  
public $a = <<<&#39;FDIPZONE&#39;  
$var  
FDIPZONE;  
  
}  
  
$obj = new test();  
echo $obj->a;  
?>

以上就是 PHP heredoc 与 nowdoc 的全部内容了,希望可以给大家带来帮助。

 

更多:https://www.shanhubei.com/archives/55224.html

 

标签:nowdoc,heredoc,html,句法结构,php,结构
From: https://www.cnblogs.com/shanhubei/p/18131488

相关文章

  • php的addslashes()函数
    PHPaddslashes()函数addslashes()函数是PHP的一个内置函数,它返回一个在预定义的字符前会添加反斜杠的转义字符串。可以注:它不会在参数中使用任何指定的字符。预定义的字符是:●单引号(')●双引号(")●反斜杠(\)●空(null)值基本语法:addslashes($string)参数: ......
  • php的isset、empty、is_null的区别
    isset判断变量是否定义或者是否为空变量存在返回ture,否则返回false变量定义不赋值返回falseunset一个变量,返回false变量赋值为null,返回falseempty:判断变量的值是否为空,能转换为false的都是空,为空返回true,反之返回false。"",0,"0",NULL,FALSE都认为为空,返回true没有任何......
  • PHP中双引号和单引号的区别
    双引号解释变量,单引号不解释变量双引号里插入单引号,其中单引号里如果有变量的话,变量解释双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误双引号解释转义字符,单引号不解释转义字符......
  • Linux系统中如何部署php
    1.在线安装Apache服务器ubuntu可通过“apt”等命令在线安装,centos用yum。#ubuntusudoapt-getinstallapache2#centosyum-yinstallhttpd安装完成后需要手动启动apache服务.#ubuntusudo/etc/init.d/apache2start#centossystemctlrestarthttpd测试A......
  • docker 中使用 php--apache并加入 mysql 插件
    官方镜像说明页:可根据自己需要,选择对应版本的php进行下载。这里使用php7.4+apache服务的镜像为例:dockerpullphp:7.4.33-apache运行容器:dockerrun--namejiuta-php-apache-7.4-d-p9000:80\-v/mnt/datadisks/docker-root/jiuta/www:/var/www/html\--log-o......
  • php编写函数取得上一月的最后一天
    <?phpdate_default_timezone_set('PRC');/***获取给定月份的上一月最后一天*@param$datestring给定日期*@returnstring上一月最后一天*/functionget_last_month_last_day($date=''){if($date!=''){......
  • PHP错误级别错误类型
    值常量描述PHP1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。 2E_WARNING运行时非致命的错误。没有停止执行脚本。 4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。 8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正......
  • php去掉字段文本的所有html标签
    方法1:php内建函数strip_tags()除去HTML标签<?phpheader("content-type:text/html;charset=utf-8");functionstrip_html_tags($str){$pattern='/<("[^"]*"|\'[^\']\*\'|[^>"\'])*>......
  • 写一个函数,算出两个文件的相对路径,如b='/a/b/12/34/c.php';计算出a的相对路径应该是..
    <?phpfunctionreleative_path($path1,$path2){$arr1=explode("/",dirname($path1));$arr2=explode("/",dirname($path2));for($i=0,$len=count($arr2);$i<$len;$i++){if($arr1[$i]!=......
  • php使用函数pathinfo()、parse_url()和basename()解析URL
    本文主要介绍的是php使用函数pathinfo()、parse_url()和basename()解析URL的实例代码,下面话不多说,直接来看代码实例代码如下:1、利用pathinfo解析URL <?$test=pathinfo("http://localhost/index.php");print_r($test);?>    结果如下Array([dirname]......