本文概述
- 单引号
- 双引号
- Heredoc语法
- Newdoc语法
- 单引号
- 双引号
- Heredoc语法
- newdoc语法(自PHP 5.3起)
要指定文字单引号, 请使用反斜杠(\)对其进行转义, 并指定文字反斜杠(\), 请使用双反斜杠(\\)。所有其他带有反斜杠的实例(例如\ r或\ n)将与指定的输出相同, 而不具有任何特殊含义。
例如
给出以下示例, 以更好地理解单引号的PHP字符串:
例子1
<
?php
$str='Hello text within single quote';
echo $str;
?>
输出
Hello text within single quote
我们可以在单引号的PHP字符串中存储多个行文本, 特殊字符和转义序列。
例子2
<
?php
$str1='Hello text
multiple line
text within single quoted string';
$str2='Using double "quote" directly inside single quoted string';
$str3='Using escape sequences \n in single quoted string';
echo "$str1 <
br/>
$str2 <
br/>
$str3";
?>
输出
Hello text multiple line text within single quoted string
Using double "quote" directly inside single quoted string
Using escape sequences \n in single quoted string
例子3
<
?php
$num1=10;
$str1='trying variable $num1';
$str2='trying backslash n and backslash t inside single quoted string \n \t';
$str3='Using single quote \'my quote\' and \\backslash';
echo "$str1 <
br/>
$str2 <
br/>
$str3";
?>
输出
trying variable $num1
trying backslash n and backslash t inside single quoted string \n \t
Using single quote 'my quote' and \backslash
注意:在单引号的PHP字符串中, 大多数转义序列和变量将不会被解释。但是, 我们可以在单引号的PHP字符串中通过\’ 使用单引号, 并在\\中使用反斜杠。 双引号 在PHP中, 我们也可以通过将文本括在双引号中来指定字符串。但是转义序列和变量将使用双引号PHP字符串进行解释。
例子1
<
?php
$str="Hello text within double quote";
echo $str;
?>
输出
Hello text within double quote
现在, 你不能直接在双引号字符串内使用双引号。
例子2
<
?php
$str1="Using double "quote" directly inside double quoted string";
echo $str1;
?>
输出
Parse error: syntax error, unexpected 'quote' (T_STRING) in C:\wamp\www\string1.php on line 2
我们可以在双引号的PHP字符串中存储多个行文本, 特殊字符和转义序列。
例子3
<
?php
$str1="Hello text
multiple line
text within double quoted string";
$str2="Using double \"quote\" with backslash inside double quoted string";
$str3="Using escape sequences \n in double quoted string";
echo "$str1 <
br/>
$str2 <
br/>
$str3";
?>
输出
Hello text multiple line text within double quoted string
Using double "quote" with backslash inside double quoted string
Using escape sequences in double quoted string
在双引号字符串中, 变量将被解释。
例子4
<
?php
$num1=10;
echo "Number is: $num1";
?>
输出
Number is: 10
Heredoc语法 Heredoc语法(< < < )是分隔字符串的第三种方法。在Heredoc语法中, 在此Heredoc < < < 运算符之后提供了一个标识符, 并且立即开始换行以写入任何文本。为了结束报价, 字符串跟随其自身, 然后再次提供相同的标识符。该结束标识符必须从新行开始, 没有任何空格或制表符。
命名规则
标识符应遵循命名规则, 该标识符必须仅包含字母数字字符和下划线, 并且必须以下划线或非数字字符开头。
例如
有效的例子
<
?php
$str = <
<
<
Demo
It is a valid example
Demo;
//Valid code as whitespace or tab is not valid before closing identifier
echo $str;
?>
输出
It is a valid example
无效的例子
我们不能在标识符和分号前后使用任何空格或制表符, 这意味着不能缩进标识符。标识符必须从新行开始。
<
?php
$str = <
<
<
Demo
It is Invalid example
Demo;
//Invalid code as whitespace or tab is not valid before closing identifier
echo $str;
?>
此代码将产生错误。
输出
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\xampp\PMA\heredoc.php on line 7
Heredoc与双引号字符串相似, 没有双引号, 这意味着Heredoc中的引号不是必需的。它也可以打印变量的值。
例子
<
?php
$city = 'Delhi';
$str = <
<
<
DEMO
Hello! My name is Misthi, and I live in $city.
DEMO;
echo $str;
?>
输出
Hello! My name is Misthi, and I live in Delhi.
例子
我们可以在heredoc语法之间在此处添加多行文本。
<
?php
$str = <
<
<
DEMO
It is the example
of multiple
lines of text.
DEMO;
echo $str;
echo '<
/br>
';
echo <
<
<
DEMO// Here we are not storing string content in variable str.
It is the example
of multiple
lines of text.
DEMO;
?>
输出
It is the example of multiple lines of text.
It is the example of multiple lines of text.
下面是带有类及其变量的示例
例子
<
?php
class heredocExample{
var $demo;
var $example;
function __construct()
{
$this->
demo = 'DEMO';
$this->
example = array('Example1', 'Example2', 'Example3');
}
}
$heredocExample = new heredocExample();
$name ='Gunjan';
echo <
<
<
ECO
My name is "$name". I am printing some $heredocExample->
demo example.
Now, I am printing {$heredocExample->
example[1]}.
It will print a capital 'A': \x41
ECO;
?>
输出
My name is "Gunjan". I am printing some DEMO example.
Now, I am printing Example2.
It will print a capital 'A': A
Newdoc语法 Newdoc与Heredoc类似, 但是在newdoc中, 解析未完成。它还用少于三个的符号< < < < 后面跟一个标识符来标识。但是这里的标识符用单引号引起来, 例如< < < ‘ EXP’ 。 Newdoc遵循与heredocs相同的规则。
newdoc和Heredoc之间的区别在于-Newdoc是单引号字符串, 而Heredoc是双引号字符串。
注意:Newdoc用作单引号。 示例1:
<
?php
$str = <
<
<
'DEMO'
Welcome to srcmini.
Learn with newdoc example.
DEMO;
echo $str;
echo '<
/br>
';
echo <
<
<
'Demo'// Here we are not storing string content in variable str.
Welcome to srcmini.
Learn with newdoc example.
Demo;
?>
输出
Welcome to srcmini. Learn with newdoc example.
Welcome to srcmini. Learn with newdoc example.
转到查看页面源并查看程序的源。
文章图片
例子
下面的示例显示newdoc不打印变量的值。
<
?php
class heredocExample{
var $demo;
var $example;
function __construct()
{
$this->
demo = 'DEMO';
$this->
example = array('Example1', 'Example2', 'Example3');
}
}
$heredocExample = new heredocExample();
$name ='Gunjan';
echo <
<
<
ECO
My name is "$name". I am printing some $heredocExample->
demo example.
Now, I am printing {$heredocExample->
example[1]}.
It will print a capital 'A': \x41
ECO;
?>
输出
上面程序的输出如下:
My name is "$name". I am printing some $heredocExample->
demo example.
Now, I am printing {$heredocExample->
example[1]}.
It will print a capital 'A': \x41
注意:PHP 5.3.0+版本支持newdoc。 无效的例子
我们不能在标识符和分号前后使用任何空格或制表符, 这意味着不能缩进标识符。标识符必须从新行开始。在newdoc中与Heredoc相同, 也是无效的。
<
?php
$str = <
<
<
'Demo'
It is Invalid example
Demo;
//Invalid code as whitespace or tab is not valid before closing identifier
echo $str;
?>
此代码将产生错误。
【PHP字符串用法详解】输出
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\xampp\PMA\newdoc.php on line 7
推荐阅读
- PHP字符串函数
- PHP require_once包含文件
- PHP会话session处理
- PHP递归函数
- PHP读取文件
- PHP程序实例
- PHP PDO介绍和环境部署
- PHP preg_replace()函数
- PHP preg_match()函数