php双引号单引号,php单双引号区别

本文目录一览:

PHP语法中 单引号和双引号的区别

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

php 单引号和双引号的区别

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

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

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

扩展资料: 

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

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

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

比如:

$str = ‘hello world’;

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

echo ‘str is $str’; //运行结果: str is $str

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中单引号与双引号的区别分析

①转义的字符不同

单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,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;

?

③解析速度不同

单引号不需要考虑变量的解析,速度比双引号快.推荐用单引号.有的时候双引号也比较好用,比如在拼凑sql

语句

反斜杠

//使用单引号

echo

this

\n

is

\r

the

blog

\t

of

\\

zhoumanhe

\\’;

//上面使用单引号输出的值是

this

\n

is

\r

the

blog

\t

of

zhoumanhe

echo

‘;

echo

“;

//使用双引号

echo

“this

\n

is

\r

the

blog

\t

of

\\

zhoumanhe

\\”;

//上面使用双引号输出的值是

this

is

the

blog

of

zhoumanhe

使用sql

假设查询条件中使用的是常量,例如:

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:”

附:大家也看到了

echo

‘br/’;

html中的标签在单引号和双引号中都有效。

总结一下PHP引号使用原则

1.字符串的值用引号

2.PHP中尽量用单引号,HTML代码全部用双引号

3.在包含变量的时候,用双引号可以简化操作

4.复杂的情况下用大括号包起来

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

使用总结:在字符串里面不需要加入

变量

或者

单引号(‘)和反斜杠(\)

时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。

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;简单记录下,加深印象。

原创文章,作者:LNUJ,如若转载,请注明出处:https://www.506064.com/n/137500.html

(0)
LNUJLNUJ
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • php行业薪资调查,4年php开发工资

    本文目录一览: 1、PHP程序员一般多少工资? 2、php工程师就业薪资怎么样 3、php工程师工资一般是多少的 4、php程序员待遇如何 PHP程序员一般多少工资? PHP程序员…

    编程 2024-10-04
  • mysql数据库如何一键迁移(sql数据库怎么迁移)

    本文目录一览: 1、如何将mysql的一个完整数据库全部复制到另外一个数据库? 2、mysql5.1的数据库如何迁移至mysql5.7? 3、如何复制mysql数据库到另一台电脑上…

    编程 2024-10-03
  • php正则注册界面,PHP正则

    本文目录一览: 1、PHP用正则表达式做注册页面 2、PHP 注册表单的正则验证 3、求PHP用户名注册验证正则表达式(6-16位字符,字母开头,只包含字母数字下划线)可支持中文 …

    编程 2024-10-12
  • FromDual的全面解析

    FromDual是一个独立软件厂商,专门提供基于MySQL和MariaDB的企业级支持和服务。这篇文章将从多个方面对FromDual做一个详细的阐述。 一、FromDual写入几个…

    编程 2024-10-03
  • 结合php的使用方法(PHP 方法)

    1、php引用函数的使用方法 2、linux iftop php 怎么结合 3、PHP源码如何使用 4、PHP入门基础教程 php引用函数的使用方法 在技术学习的道路上,能掌握一些…

    编程 2024-10-03
  • Spark中的combineByKey详细剖析

    Spark中的combineByKey是对于键值对RDD(K,V)的一个高阶函数,它可以通过自定义的一些函数来对每个key的value部分进行聚合操作。在Spark中,这个函数的使…

    编程 2024-10-04
  • python从入门到实践2的简单介绍

    1、Python从入门到实践的教程是什么? 2、Python编程从入门到实践学习内容包含哪些? 3、Python编程从入门到实践,第二个项目是说爬虫的吗?(或者跟爬虫相关的) 4、…

    编程 2024-10-03
  • 详解math.pow函数

    一、math.pow函数 math.pow函数用于计算次方值,是JS内置的数学函数之一,它能够帮助我们轻松地计算一个数字的幂。 二、math.pow函数什么意思 math.pow函…

    编程 2024-10-04
  • 使用Python的b64decode解码函数解密字符串

    一、什么是Base64编码 在计算机传输过程中,由于不同系统的编码方式不同,可能会导致传输出错。因此需要一种通用的、可靠的、能够被任意系统处理的编码方式来进行数据传输。而Base6…

    编程 2024-10-04
  • tf.cond函数详解

    一、概述 tf.cond是一个TensorFlow中的函数,可以在条件成立时执行一个函数,否则执行另一个函数。这个函数的返回值必须是Tensor类型,使得在图构建过程中,Tenso…

    编程 2024-10-03

发表回复

登录后才能评论