php定义字符串有几种方法
时间:2021-06-03
来源:互联网
标签:
今天PHP爱好者为您带来php定义字符串有4种方法:1、用单引号进行定义,例“'abc'”;2、用双引号进行定义,例“"abc"”;3、利用heredoc语法糖进行定义,它是一种在命令行shell和程序语言里定义字符串的方法;4、利用nowdoc语法糖进行定义。希望对大家有所帮助。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用。
我们在使用php进行开发的时候,大多数使用双引号、单引号进行定义字符串。既然有这两种方式,那么他们之间肯定是有区别的。
并且,除了单双引号定义字符串这两种方式外,php还增加了heredoc和nowdoc这两种语法糖进行补充。
单引号与双引号
1、单引号
在单引号中,任何特殊字符都会按原样输出
eg.
<?php
$var = 'this is a var!';
echo '666$var666、\'、\"、\\、\n、\r、\t、\$';

从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。
2、双引号
在双引号中,遇到$将会解析该变量;
双引号中会转义反斜杠的转义字符;
转义字符代码 | 转义字符的含义 |
\ " | 双引号 |
\ ' | 单引号 |
\ \ | 反斜杠 |
\ n | 换行符 |
\ r | 回车符 |
\ t | 制表符 |
\ $ | 美元符号 |
eg.
<?php
$var = 'this is a var!';
echo "666$var 666、\'、\"、\\、\n、\r、\t、\$";

由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。
3、单双引号之间的区别
以上两者主要区别:
1、双引号会替换变量的值,而单引号会把它当做字符串输出。
2、对于转义的支持
3、性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的。
heredoc与nowdoc
1、heredoc
heredoc可以理解为不使用双引号来定义字符串,但效果与使用双引号一致。
语法要求:
1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。
2、开始标记后不能出现空格或多余的字符。
3、结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
4、位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
eg.
<?php
$var = 'this is suifeng';
echo <<<"EOT"
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>"随风"</title>
</head>
<body>
66666666666<br/>
"666666666"<br/>
$var<br/>
\$var<br/>
\n666<br>
</body>
</html>
EOT;

从打印的结果我们可以看出:此时双引号仅仅只是一个普通字符;其他的效果和双引号的字符串效果一致。
2、nowdoc
同理,nowdoc是不使用单引号来定义,但效果相当于使用单引号来定义的字符串。
语法同heredoc
eg.
<?php
$var = 'this is suifeng';
echo <<<'EOT'
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>"随风"</title>
</head>
<body>
'02020'<br/>
\'<br/>
66666666666<br/>
"666666666"<br/>
$var<br/>
\$var<br/>
\n666<br>
</body>
</html>
EOT;

注意:
定界符之后必须不能有任何字符,否则将会出错。
如上例中的EOT后面有空格就会报这个错误:
以上就是php定义字符串有几种方法的详细内容,更多请关注php爱好者其它相关文章!
-
Ext.MessageBox消息框使用详解 时间:2025-11-20 -
GAppProxy超详细安装配置教程 时间:2025-11-20 -
C#中e.Cancel用法详解 e.Cancel和e.Handled区别 时间:2025-11-20 -
TestDirector超详细下载、安装、配置教程 时间:2025-11-20 -
AssemblyInfo.cs文件详解(常见属性及作用等) 时间:2025-11-20 -
什么是无理数 常见的无理数有哪些 无理数和有理数的区别 时间:2025-11-19
今日更新
-
欧易中秋礼盒延迟发放原因及最新进展说明
阅读:18
-
126邮箱登录入口-免费登录126邮箱网页版
阅读:18
-
闪现是什么梗?揭秘游戏中瞬间移动的爆笑名场面,玩家必看!
阅读:18
-
索拉纳价格诞生至今走势图 SOL历史价格波动K线图最新版
阅读:18
-
126邮箱登录入口-免费登录126邮箱网页版
阅读:18
-
欧易活动风控高的原因及优化策略解析
阅读:18
-
鸣潮全息战略・幻痛挑战更新-伪作的神王挑战开启
阅读:18
-
三角洲行动D1-3钥匙怎么获得-零号大坝钥匙获取方法
阅读:18
-
龙族卡塞尔之门帕西皮肤晨光之誓-11月20日将上线
阅读:18
-
2025潜力币:掘金未来十大虚拟货币
阅读:18










