广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中字符串定界符有几种
  • 254
分享到

php中字符串定界符有几种

2024-04-02 19:04:59 254人浏览 无得
摘要

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑PHP定界符PHP定界符是从php4.0版本开始支持的。定界符用于定义一段格式化的文本,格式化是指文本中的格式将被保留,所以文本中不需要使用定义符。在使用时后

教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

PHP定界符

PHP定界符是从php4.0版本开始支持的。

定界符用于定义一段格式化的文本,格式化是指文本中的格式将被保留,所以文本中不需要使用定义符。在使用时后接一个标识符,然后是格式化的文本(即字符串),最后使用同样的标识符结束字符串,这段格式化的文本也可以称为长字符串。

为什么使用定界符

因为PHP是一个WEB编程语言,在编程过程中难免会遇到使用echo来输出大段的html代码或者javascript脚本的情况。如果用传统字符串输出的话,肯定要使用大量的转义字符来对字符串中的特殊字符进行转义,比如单引号‘’、双引号“”等等,难免会出现语法错误。

而PHP中定界符能够定义一段较长的字符串,并且可以按照原样输出在其内部的东西,包括换行、缩进等格式,在定界符中任何特殊字符都不需要转义,而且定界符中的变量也能被解析。这也是为什么 PHP 要引入定界符的原因之一。

php中字符串定界符有几种

PHP中有两种定界符:heredoc(双引号定界符)和nowdoc(单引号定界符)

1、“Heredoc”定义方式

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

结束标识符可以使用空格或制表符(tab)缩进,此时文档字符串会删除所有缩进。 在 PHP 7.3.0 之前的版本中,结束时所引用的标识符必须在该行的第一列。

而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。

<?php
$str = <<<EOF
  url:
  https://www.php.cn/
EOF;
echo $str;
?>

3.png

PHP 7.3.0 之后的基础 Heredoc 示例

<?php
// 无缩进
echo <<<END
      a
     b
    c
\n
END;
// 4 空格缩进
echo <<<END
      a
     b
    c
    END;

4.png

如果结束标识符的缩进超过内容的任何一行的缩进,则将抛出 ParseError 异常:

示例:结束标识符的缩进不能超过正文的任何一行

<?php
echo <<<END
  a
 b
c
   END;

以上例程在 PHP 7.3 中的输出:

PHP Parse error:  Invalid body indentation level (expecting an indentation level of at least 3) in example.php on line 4

制表符也可以缩进结束标识符,但是,关于缩进结束标识符和内容, 制表符和空格不能混合使用。在以上任何情况下, 将会抛出 ParseError 异常。 之所以包含这些空白限制,是因为混合制表符和空格来缩进不利于易读性。

示例:内容(空白)和结束标识符的不同缩进

<?php
// 以下所有代码都不起作用。
// 正文(空格)和结束标记(制表符),不同的缩进
{
    echo <<<END
     a
        END;
}
// 在正文中混合空格和制表符
{
    echo <<<END
        a
     END;
}
// 在结束标记中混合空格和制表符
{
    echo <<<END
          a
         END;
}

以上例程在 PHP 7.3 中的输出:

PHP Parse error:  Invalid indentation - tabs and spaces cannot be mixed in example.php line 8

内容字符串的结束标识符后面不需要跟分号或者换行符。 例如,从 PHP 7.3.0 开始允许以下代码:

示例:在结束标识符后继续表达式

<?php
$values = [<<<END
a
  b
    c
END, 'd e f'];
var_dump($values);

以上例程在 PHP 7.3 中的输出:

array(2) {
  [0] =>
  string(11) "a
  b
    c"
  [1] =>
  string(5) "d e f"
}

2、“Nowdoc”定义方式

就象 heredoc 结构类似于双引号字符串,Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。这种结构很适合用于嵌入 PHP 代码或其它大段文本而无需对其中的特殊字符进行转义,与 SGML 的<![CDATA[ ]]> 结构是用来声明大段的不用解析的文本类似,nowdoc 结构也有相同的特征。

一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<'EOT'。Heredoc 结构的所有规则也同样适用于 nowdoc 结构,尤其是结束标识符的规则。

示例:

<?php
echo <<<'EOD'
Example of string spanning multiple lines
using nowdoc syntax. Backslashes are always treated literally,
e.g. \\ and \'.
EOD;

9.png

<?php


class foo
{
    public $foo;
    public $bar;

    function __construct()
    {
        $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 not print a capital 'A': \x41
EOT;
?>

10.png

注意:

Nowdoc 结构是在 PHP 5.3.0 中加入的。

--结束END--

本文标题: php中字符串定界符有几种

本文链接: https://www.lsjlt.com/news/34401.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php中字符串定界符有几种
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑PHP定界符PHP定界符是从PHP4.0版本开始支持的。定界符用于定义一段格式化的文本,格式化是指文本中的格式将被保留,所以文本中不需要使用定义符。在使用时后...
    99+
    2022-10-18
  • php字符串有哪几种定义方式
    有4种定义方式:1、用单引号包裹字符,语法“'字符内容'”;2、用双引号包裹字符,语法“"字符内容"”;3、用heredoc结构,语法“<<<EOF 字符内容 EOF;”;4、用nowd...
    99+
    2022-06-30
    php字符串 php
  • php声明字符串变量有几种
    在 PHP 中,声明字符串变量有三种方式:使用单引号,使用双引号,以及使用 heredoc 和 nowdoc。单引号:单引号字符串中的变量不会被解析,所有特殊字符(如换行符和引号)都需要使用转义符号“\”。$name = 'John...
    99+
    2023-05-14
  • php截取字符串几种方式
    这篇文章给大家分享的是有关php截取字符串几种方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php截取方法:1、使用substr()截取,可以从字符串的指定位置截取一定长度的字符;2、使用mb_su...
    99+
    2023-06-20
  • 聊聊php提取字符串前几个字符的几种方法
    在PHP编程中,字符串操作是最常见的操作之一。有时候需要截取字符串的前几个字符,以满足程序的需求。本文将介绍PHP中如何取字符串前几个字符。PHP语言提供了多种方法来截取字符串,以下是三种最常用的方法:使用substr()函数来提...
    99+
    2023-05-14
  • php声明字符串变量有几种方法
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php声明字符串变量1、利用双引号语法:$变量名="字符串内容";示例:<php $str="hello"; var_du...
    99+
    2018-01-13
    php 声明字符串变量
  • 怎么用定界符定义字符串
    这篇文章给大家分享的是有关怎么用定界符定义字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是定界符:定界符是另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<...
    99+
    2023-06-15
  • php如何判断字符串中有某几个字符
    本篇内容介绍了“php如何判断字符串中有某几个字符”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!判断方法:1、使用“str_split($s...
    99+
    2023-06-30
  • php怎么截取指定字符串后几位字符
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑在对字符串进行处理时,有时我们需要对字符串进行截取操作。在 PHP 中,截取字符串可以通过 PHP 的预定义函数 substr() 来实现。subst ...
    99+
    2014-06-15
    php 截取字符串
  • php如何检查汉字字符串有几个字符
    这篇“php如何检查汉字字符串有几个字符”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何检查汉字字符串有几个字符”文...
    99+
    2023-06-30
  • JavaScript 中替换字符串的方法有几种
    这篇文章主要介绍“JavaScript 中替换字符串的方法有几种”,在日常操作中,相信很多人在JavaScript 中替换字符串的方法有几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • php如何去除字符串中某几个子字符串
    这篇文章主要讲解了“php如何去除字符串中某几个子字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何去除字符串中某几个子字符串”吧!在php中,可以利用str_replace()...
    99+
    2023-06-30
  • php如何读取字符串后几个字符
    本篇内容主要讲解“php如何读取字符串后几个字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何读取字符串后几个字符”吧!在php中,可以使用substr()函数来读取字符串后...
    99+
    2023-06-30
  • php怎么读取字符串后几个字符
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以使用substr()函数来读取字符串后几个字符。substr() 函数返回字符串的一部分。只需要将省略该函数的第三个参数,并设置第二...
    99+
    2016-05-17
    php字符串 php
  • javascript如何计算字符串有几个字符
    这篇文章给大家分享的是有关javascript如何计算字符串有几个字符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 JS统计字符个数的方法:1、利用...
    99+
    2022-10-19
  • Shell中字符串排序的几种方法
    【方法一】按ASCII正向排序 备注: 1) tr将子字符串中的空白转换为换行符,再用sort排序 2) sort无参的话,默认按ASCII正向排序 【方法二】按ASCII正向排序 备注: 1) -r参数: &nbs...
    99+
    2022-06-04
    shell字符串排序 shell中字符串排序的几种方法
  • php如何找到字符串的第几个字符
    这篇文章主要讲解了“php如何找到字符串的第几个字符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何找到字符串的第几个字符”吧!获取字符的方法:1、使用substr()函数...
    99+
    2023-06-29
  • php怎么判断字符串包含几个字符
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php判断字符串包含几个字符在php中,判断字符串包含几个字符,就是判断字符串的长度。在 PHP 中常用的计算字符串长度的函数有两个,分别是 strlen() 和 mb...
    99+
    2020-03-20
    php 字符串 字符
  • php怎么找到字符串的第几个字符
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php找到字符串的第几个字符方法1:使用substr()函数substr() 函数可以从字符串的指定位置截取一定长度的字符:substr(...
    99+
    2016-02-14
    php 查找字符串
  • php如何判断字符串包含几个字符
    本篇内容主要讲解“php如何判断字符串包含几个字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何判断字符串包含几个字符”吧!php判断字符串包含几个字符的方法:1、使用strlen()...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作