PHP 字符串 操作符<<< 使用的注意事项

  在看《深入PHP和JQeury开发》过程中,遇到字符串 操作符<<<,代码没有问题,但格式却要求特别严格,找到PHP手册上的实例,翻译过来,留作后用。

A string literal can be specified in four different ways:

Single quoted

The simplest way to specify a string is to enclose it in single quotes (the character ).

To specify a literal single quote, escape it with a backslash (\). To specify a literal backslash, double it (\\). All other instances of backslash will be treated as a literal backslash: this means that the other escape sequences you might be used to, such as \r or \n, will be output literally as specified rather than having any special meaning.

Note: Unlike the double-quoted and heredoc syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.

<?php
echo ‘this is a simple string‘;

echo ‘You can also have embedded newlines in
strings this way as it is
okay to do‘;

// Outputs: Arnold once said: "I‘ll be back"
echo ‘Arnold once said: "I\‘ll be back"‘;

// Outputs: You deleted C:\*.*?
echo ‘You deleted C:\\*.*?‘;

// Outputs: You deleted C:\*.*?
echo ‘You deleted C:\*.*?‘;

// Outputs: This will not expand: \n a newline
echo ‘This will not expand: \n a newline‘;

// Outputs: Variables do not $expand $either
echo ‘Variables do not $expand $either‘;
?>

Heredoc

A third way to delimit strings is the heredoc syntax: <<<. After this operator, an identifier is provided, then a newline. The string itself follows, and then the same identifier again to close the quotation.

The closing identifier must begin in the first column of the line. Also, the identifier must follow the same naming rules as any other label in PHP: it must contain only alphanumeric characters and underscores, and must start with a non-digit character or underscore.

Warning

It is very important to note that the line with the closing identifier must contain no other characters, except possibly a semicolon (;). That means especially that the identifier may not be indented, and there may not be any spaces or tabs before or after the semicolon. It‘s also important to realize that the first character before the closing identifier must be a newline as defined by the local operating system. This is \n on UNIX systems, including Mac OS X. The closing delimiter (possibly followed by a semicolon) must also be followed by a newline.

If this rule is broken and the closing identifier is not "clean", it will not be considered a closing identifier, and PHP will continue looking for one. If a proper closing identifier is not found before the end of the current file, a parse error will result at the last line.

Heredocs can not be used for initializing class properties. Since PHP 5.3, this limitation is valid only for heredocs containing variables.

注意在结尾标示符那一行不能包还其他的字符,除了分号(;)。这就意味着标示符不能缩进,并且在分号之前或者之后都不能Space或者Tab。

并且,在结尾标示符之前的第一个字符必须是被本操作系统所定义的一个新行。在Unix系统中,为\n.并且结束标示符后也必须紧跟着换行符。

即必须为如下形式,特别注意虽然显示都是空白,但务必要确定空格为“换行符”:

{

...

...

\n

CLOSING_IDENTIFER;\n

}

原文链接:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

时间: 2024-10-28 15:41:59

PHP 字符串 操作符<<< 使用的注意事项的相关文章

以写代学:python 原始字符串操作符&&字符串内建函数

原始字符串操作符 (1)原始字符串操作符是为了对付那些在字符串中出现的特殊字符 (2)在原始字符串里,所有的字符都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符 (3)比如在windows写路径时经常会把出现以下情况 2.字符串内建函数 (1)每次都不会改变字符串原本的值 (2)字符串.函数 或者将字符串赋值给函数后写成变量名.函数是都可以的 (3)还有很多的内涵函数,下边只是举例说明 >>> import tab        >>> hi = "

字符串操作符

首先需要明白的一点是我们通常所用的变量替代 $varname 其实是 ${varname}的一种简写形式. 其次,需要知道字符串操作的核心思想是:Bash shell字符串操作是通过在变量名'varname'和闭花括号'}'之间插入操作符来完成的. 字符串操作符在处理" ' ? * 等字符时需要使用\转意 grep 对字符进行查找时  " 需要加转意\   '不需要加 替换操作符        ${varname:-word}            含义:如果变量varname存在且非

字符串操作符+和+=

//如果表达式以一个字符串起头,那么后续所有操作数必须是字符串类型 //thinking in java 书中p53 3.13  字符串操作符+和+= import static net.mindview.util.Print.*;public class StringOperators { public static void main(String []args){ int x=0,y=1,z=2; String s="x,y,z"; print(s+x+y+z); print(x

python中关于字符串更多的一些注意事项

1 单引号和双引号都可以 2 如果要打印let's go!怎么办 或者 \是转义的意思 3 字符串中包含一对单引号或双引号怎么办 只能单引号套双引号 但如果是字符串中包含一对单引号怎么打印呢 只能双引号套单引号 总结: 发现什么规律了没有?双引号和单引号不能同时出现,即: " ""  "或者 '   ' '  '是不行的,一定是不同的组合. 4 字符串也可以 + 5 那么字符串可以-吗 字符串相乘就更不可以了.

C语言字符串使用注意事项

转载请注明出处! 在C语言中没有专门的字符串数据类型,字符串都是以字符串常量和字符数组的形式出现.其实字符串就是一串零个或多个字符,并且以一个位模式为全0的NUL字节结束.因此,字符串所包含的字符内部不能出现NUL字节.头文件string.h包含了使用字符串函数所需的原形和声明,尽管并非必须,但在程序里包含这个头文件确实是个好主意,因为有了它所包含的原型,编译器可以更好地为你的程序执行错误检查. 下面列举了在使用C库中字符串函数时的注意事项,此内容会持续的更新! 1.字符串长度

Java之路(二) 操作符

操作符比较简单,这里只点一下注意事项和要点,请牢记. 操作符接受一个或多个参数,并生成一个新值. Java中,几乎所有的操作符都只能操作基本类型. 例外是 = == 和 !=,它们可以操作所有的对象.此外,String类支持+和+=. 1.赋值 = 基本类型存储了实际的数值,所以为基本类型变量赋值是将一个地方的内容赋值到变量所表示的地址. 为对象赋值时,实际操作的是引用.我们如下图所示,假设T1和T2是同一个类的两个对象的引用,分别指向各自的对象.开始如A所示,当执行赋值T1=T2后,如B所示,

javaScript常用运算符和操作符总结

类别 操作符 算术操作符 +. –. *. /. %(取模) 字符串操作符 + 字符串连接   +=字符串连接复合 布尔操作符 !. &&.  ||  一元操作符 ++ . -- .  +(一元加).    -(一元减) 关系比较操作符 < . <= . >  .>=.   !=  . == .  === .  !==  按位操作符 ~ 按位非    &按位与     | 按位或     ^按位异或    <<左移    >>有符号右

Shell高级编程7:Shell的字符串表达式介绍

字符串测试操作符 字符串测试操作符的作用:比较两个字符串是否相同.字符串长度是否为0,字符串是否为 NULL(注:bash区分零长度字符串和空字符串)等 在书写测试表达式时,可以使用下表中的字符串测试操作符. 下表:字符串测试操作符 常用字符串测试操作符 两端 -z 若串长度为0则真,-z可以理解为zero -n 若串长度不为0则真,-z可以理解为no zero "串1" = "串2" 若串1等于串2则真,可使用"=="代替"=&quo

python学习笔记:python字符串

二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象身份的比较主要是is和is not这两个符号:布尔类型主要是not.and.or等的逻辑运算符. 字符串标准类型操作符也是这些,在做比较操作的时候,字符串是按照ASCII值的大小来比较的. 2. 序列类型操作符 切片操作符 主要分为三种,分别是正向索引.反向索引.默认索引.下图中显示索引的编号: 注