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

php 单引号和双引号的区别

发布网友 发布时间:2022-04-28 00:16

我来回答

11个回答

懂视网 时间:2022-04-28 04:38

区别: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-28 01:46

1、变量。双引号解释变量,单引号不解释变量;双引号里插入单引号,其中单引号里如果有变量的话,变量解释;

2、字符。双引号解释转义字符,单引号不解释转义字符,但是解释'\和\;

3、效率。能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)。

扩展资料: 

一般情况下两者是通用的。但双引号内部变量会解析,而单引号则不解析。

PHP允许我们在双引号串中直接包含字串变量。

而单引号串中的内容总被认为是普通字符,因此单引号中的内容不会被转义效率更高。

比如:

$str = 'hello world';

echo "str is $str"; //运行结果: str is hello world

echo 'str is $str'; //运行结果: str is $str

热心网友 时间:2022-04-28 03:04

两者的区别如下:

1、变量上的区别

双引号能解释变量,单引号不能解释变量。 单引号插入双引号中,如果单引号中包含变量,则变量解释。

2、效率上的区别

单引号比双问号更有效,因为首先需要遍历双引号以确定其中是否有变量,然后执行操作,并且不需要判断单引号。

3、字符上的区别

双引号解释转义符,单引号不解释转义符,而是解释'\和\。

热心网友 时间:2022-04-28 04:38

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(换行符)等转义序列时,你应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些。

热心网友 时间:2022-04-28 06:30

单引号运行速度快,主要原因是不会转换里面的内容,只转换一种情况

\'
转换成
'
双引号会转换里面的内容,所以比较慢。
echo
'
aaa\'aaa';
结果是
aaa'aaa
echo
'
aaa\naaa';
结果是
aaa\naaa
(\n不会转换成换行符)
echo
"aaa\naaa";
结果是
aaa
aaa
(\n会转换成换行符)
$a
=
'test';
echo
'$a'
结果是
$a
($a不会转换成对应的值)
echo
”$a“
结果是
test
($a转换成对应的值)

热心网友 时间:2022-04-28 08:38

有二点值得注意:
1.单引号的变量不产生变量作用,而双引号则会;如代码所示:
<?
$words="变量发生作用";
echo('这里用的是单引号$words');//这里用的是单引号$words
echo("这里用的是双引号$words");//这里用的是双引号变量发生作用
?>
2.单引号读出数据库字段值时速度要比双引号快;

热心网友 时间:2022-04-28 11:02

<?php
$a='您好';
echo
"输出$a";
//这里最后结果是:输出您好
echo
'输出$a‘;
//这里最后结果是:输出$a
?>
以上就是最大的区别
也就是说,双引号内的变量会被编译,而单引号不会!

热心网友 时间:2022-04-28 13:44

php中单引号的执行效率是大于双引号的,所以推荐使用单引号。
在一些特殊的情况下也可以使用双引号,比如SQL语句中:
$sql = "select * from table_name where id = '$id'";

热心网友 时间:2022-04-28 16:42

输出
字符串须要用双引号,单引号也可以
如果输出变量就不须要

如果使用双引号,可以包含变量,假如
echo
"the
$name";
echo
"the
{$name}";//变量尽量用花括号号
单引号就不可以了
echo
'the
'.$name;

热心网友 时间:2022-04-28 19:56

在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语法分析器对单引号串
的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。

热心网友 时间:2022-04-28 23:28

你理解很正确
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么一些男性喜欢要求伴侣叫自己爸爸? proteus8中怎么放置引脚标号 ...在proteus里不知道用什么表示?有没有什么proteus中专门的中英文对照... 甜蜜家园郑毅铭是什么身份 甜蜜家园第二季郑毅铭喜欢谁 瑞梦喜智能空调床垫适合人群 小孩可以用智能床垫吗 智能床垫适合哪些人用 我父亲今年59岁,有高血压和颈椎病的病史,最近一段时间感觉一躺下就偏... ...刚从医院治疗回来。我想买个枕头给他,不知买怎样的比较好?_百度知 ... 有什么正规的外汇平台吗 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面试题get和post的区别 php中的POST与GET提交表单的区别 请详细解说下php关于post传值和get传值的内容,区别,安全性,大小等。 php字符串中的双引号与单引号区别 PHP表示字符串的单引号和双引号有什么区别 php 双引号和 单引号 有什么异同 php中单引号和双引号有什么区别? PHP单引号和双引号的区别 – 不知不问 浅谈PHP中单引号和双引号到底有啥区别呢? PHP中单引号与双引号的区别分析 php中,单引号和双引号的区别 php单引号和双引号的区别与用法 php字符串单引号和双引号的区别 PHP中对变量使用单引号和双引号的区别 在PHP中,单引号字符串同双引号字符串有什么区别? php中对单引号和双引号的区别 php单引号和双引号的区别 PHP语法中单引号和双引号的区别 简述用双引号和单引号定义字符串的区别(PHP编程)? PHP中单引号和双引号的区别 php 中 单引号 输出字符串用 单、双引号区别是什么? PHP 实现页面静态化的几种方法 php系统如何实现动态页面静态化