php中的单引号和双引号
A. php中的双引号和单引号的应用
无论是书写
JavaScript
还是
PHP,总习惯于使用单引号。但周末在家
coding
的时候碰到个问题,需要通过
PHP
过滤字符串中的换行符,按照下面的方法操作:
$out
=
str_replace(array('rn',
'r',
'n'),
'',
$out);PHP
提供三种定义字符串的方法:单引号、双引号、本地文档(英文叫做
here
document
或者
heredoc)。
单引号:
使用单引号是最高效的方法,因为
PHP
不会检查单引号字符串中的内置变量和转义序列,需要转义的字符只有反斜杠和单引号本身。
双引号:
会检查内置变量和转义序列,但不能识别转义的单引号。这也正说明了开始那段代码的错误之处,正确的做法是使用双引号来定义换行的转义序列:
$out
=
str_replace(array("rn",
"r",
"n"),
'',
$out);本地文档:
检查所有的内置变量和转义序列,双引号无需转义。例如:
echo
<<
this
is
a
"here
document"
example.
just
for
test.
EOT;简单记录下,加深印象。
B. php里面,字符串什么时候用单引号,什么时候用双引号
当你希望字符串中的变量不被替换时用单引号,
$a=2
print
'the
result
is
:
$a'
the
result
is:$a
print
"the
result
is
:$a"
the
result
is:2
似乎是这个样子的,很久没用过了。自己试一下
C. PHP表示字符串的单引号和双引号有什么区别
在PHP这类型语言中,没有字符类型,只有字符串类型。单引号代表按原样输出。
比如'hello\r\n',输出的就是hello\r\n。但如果是双引号,则会对其中的转义字符进行转换。比如还是刚才的字符串,由于\r\n是换行标记,所以双引号内的"hello\r\n"就会输出hello后再换行。
D. php字符串单引号和双引号的区别
其实在之前的PHP100视频教程里我就讲过,单引号和双引号的区别和效率问题,但还是很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。
” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
‘ ‘ 单引号里面的不进行解释,直接输出。
从字面意思上就可以看出,单引号比双引号要快了。
例如:
$abc=’my name is tome’;
echo $abc //结果是:my name is tom
echo ‘$abc’ //结果是:$abc
echo “$abc” //结果是:my name is tom
特别在使用MYsql语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。
假设查询条件中使用的是常量,例如:
select * from abc_table where user_name=’abc’;
SQL语句可以写成:
SQLstr = “select * from abc_table where user _name= ‘abc’” ;
假设查询条件中使用的是变量,例如:
$user_name = $_REQUEST['user_name']; //字符串变量
或
$user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//数组变量
SQL语句就可以写成:
SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;
对比一下:
SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;
SQLstr=”select * from abc_table where user_name =’ ” . $user _name . ” ‘ “;
SQLstr=”select * from abc_table where user_name =’ ” . $user["name"] . ” ‘ “;
SQLstr可以分解为以下3个部分:
1:”select * from table where user_name = ‘ ” //固定SQL语句
2:$user //变量
3:” ‘ ”
1,2,3部分字符串之间用”.” 来连接
E. 浅谈PHP中单引号和双引号到底有啥区别呢
在PHP中,字符串的定义可以使用英文单引号'
',也可以使用英文双引号"
"。
但是必须使用同一种单或双引号来定义字符串,如:'Hello
World"和"Hello
World'为非法的字符串定义。
单引号和双引号到底有啥区别呢?
PHP允许我们在双引号串中直接包含字串变量。
而单引号串中的内容总被认为是普通字符,因此单引号中的内容不会被转义效率更高。
比如:
复制代码
代码如下:
$str='hello';
echo
"str
is
$str";
//运行结果:
str
is
hello
echo
'str
is
$str';
//运行结果:
str
is
$str
php中,双引号中的变量($var)和特殊字符(\r\n之类)会被转义,单引号中的内容不会被转义(所以效率更高)。
使用上的话,
我以前很喜欢在sql字符串里这样写$sql
=
"SELECT
*
FROM
table
WHERE
id
=
$id",这样里面的$id可以被转义,单引号就不行。
在JavaScript中
单引号
和双引号没有区别,只要成对使用就行。
我在JavaScript
中使用单引号大多是因为
Javascript
和
HTML
打交道比较多,输出
HTML
片段的时候不需要转义
HTML
中属性的引号。
总之,看实际情况来用啦,怎么方便怎么使用。
以上就是本文关于php中单双引号的区别分析了,希望大家能够喜欢
F. 单引号、双引号在PHP中有什么区别
在PHP中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:‘Hello"和“Hello'为非法的字符串定义。
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。
G. php 单引号和双引号的区别
两者的区喊侍悄别如下:
1、变量上的区郑渣别
双引号能解释变量,谈前单引号不能解释变量。 单引号插入双引号中,如果单引号中包含变量,则变量解释。
2、效率上的区别
单引号比双问号更有效,因为首先需要遍历双引号以确定其中是否有变量,然后执行操作,并且不需要判断单引号。
3、字符上的区别
双引号解释转义符,单引号不解释转义符,而是解释'和。