问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 双引号和 单引号 有什么异同

发布网友 发布时间:2022-04-05 23:19

我来回答

2个回答

懂视网 时间:2022-04-06 03:40

区别:PHP不会解析单引号中的变量,而是将变量名原样输出;PHP会解析双引号中包含的变量。因为单引号不需要考虑变量的解析,所以解析速度要比双引号快。

看好多代码有时候用单引号或双引号实现包含字符串的内容,那么在PHP中双引号与单引号有什么区别?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

php中双引号与单引号的区别

①转义的字符不同

单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。【推荐:《PHP视频教程》】

 <?php
$str1 = '\',\\,\r\n\t\v\$\"';
echo $str1,'<br />';
 
$str2 = "\",\\,a\r\n\tb\v\$\'";
echo $str2,'<br />';
?>

②对变量的解析不同

单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。

 <?php
$age = 20;
$str1 = 'I am $age years old';
$str2 = "I am $age years old";
echo $str1,'<br />'; // I am $age years old 
echo $str2,'<br />'; // I am 20 years old;
?>

③解析速度不同

单引号不需要考虑变量的解析,速度比双引号快。

补:

PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。

使用总结:

在字符串里面不需要加入 变量 或者 单引号(')和反斜杠(\) 时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。在包含变量的时候,用双引号可以简化操作。能用单引号尽量用单引号,复杂的情况下用大括号包起来。

热心网友 时间:2022-04-06 00:48

在PHP中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:‘Hello"和“Hello'为非法的字符串定义。
  
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:
$s
=
"I
am
a
'single
quote
string'
inside
a
double
quote
string";
$s
=
'I
am
a
"double
quote
string"
inside
a
single
quote
string';
$s
=
"I
am
a
'single
quote
string'
inside
a
double
quote
string";
$s
=
'I
am
a
"double
quote
string"
inside
a
single
quote
string';
  
PHP允许我们在双引号串中直接包含字串变量,单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如如下代码:
$foo
=
2;
echo
"foo
is
$foo";
//
打印结果:
foo
is
2
echo
'foo
is
$foo';
//
打印结果:
foo
is
$foo
echo
"foo
is
$foo\n";
//
打印结果:
foo
is
2
(同时换行)
echo
'foo
is
$foo\n';
//
打印结果:
foo
is
$foo\n
$foo
=
2;
echo
"foo
is
$foo";
//
打印结果:
foo
is
2
echo
'foo
is
$foo';
//
打印结果:
foo
is
$foo
echo
"foo
is
$foo\n";
//
打印结果:
foo
is
2
(同时换行)
echo
'foo
is
$foo\n';
//
打印结果:
foo
is
$foo\n
  
在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠\\和插入单引号\')。所以,当想在字串中进行变量代换和包
含\n(换行符)等转义序列时,应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些,因为PHP语法分析器对单引号串
的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“泛览周王传”的出处是哪里 避事的意思是什么 怠息的意思是什么 “偷闲来此一嚬呻”的出处是哪里 怠息意思和来源是什么 客厅中间沙发旁旁边放什么 客厅沙发旁边放什么合适 沙发左右摆什么位置 淘宝网无法注册邮箱验证 谁能帮我注册一个谷歌帐号,我一直注册不成功,淘宝上也买不到,在线等... PHP表示字符串的单引号和双引号有什么区别 php字符串中的双引号与单引号区别 php 单引号和双引号的区别 thinkphp show方法怎么用 thinkphp m和d方法都能实现自动验证,那这两者有啥区别?用哪个好? THINKPHP如何能让一个类中的所有方法在执行后都去执行一个记录方法 如何实现thinkphp中Db类的方法调用风格? THINKPHP如何能让一个类中的所有方法在执行前都先执行一个验证方法 thinkphp6 版本 mongodb 连表查询 案例? thinkphp 模型与控制器有什么区别???没搞懂 thinkphp中如何使用使用函数呢? - PHP框架开发 thinkphp中的钩子函数有什么作用?一般什么用于处理什么业务逻辑 目前thinkphp如何来做一个网站,分为哪几个步骤? thinkphp如何学习啊?里面的sql语句都是函数,好麻烦的。 thinkphp6会对mysql的版本有要求吗? 有关thinkphp中D和M的区别 Thinkphp6数据库操作的replace()到底什么意思,请大神帮忙解释的很清楚? thinkphp要如何学习? 如何学习好thinkphp? php判断当前请求是post还是get php中单引号和双引号有什么区别? PHP单引号和双引号的区别 – 不知不问 浅谈PHP中单引号和双引号到底有啥区别呢? PHP中单引号与双引号的区别分析 php中,单引号和双引号的区别 php单引号和双引号的区别与用法 php字符串单引号和双引号的区别 PHP中对变量使用单引号和双引号的区别 在PHP中,单引号字符串同双引号字符串有什么区别? php中对单引号和双引号的区别 php单引号和双引号的区别 PHP语法中单引号和双引号的区别 简述用双引号和单引号定义字符串的区别(PHP编程)? PHP中单引号和双引号的区别 php 中 单引号 输出字符串用 单、双引号区别是什么? PHP 实现页面静态化的几种方法 php系统如何实现动态页面静态化 怎么实现网页静态化? php网站如何静态化? 大型php网站全站静态化怎么实现? 如果有上万个页面每更改一小篇文章都要全部重新生成吗?