php中双引号的区别,PHP中单引号和双引号的区别

好久没有写博客了,都忘了积累知识啦……现在开始全新的生活,重拾记录的习惯。今天要写的就是PHP中单引号和双引号的区别。在PHP中,我们可以使用单引号或者双引号来表示字符串。不过我们作为开发者,应该了解其中的区别。

一、字符串的表示

PHP语法分析器是用成对的引号来判断一个字符串的。因此,所有字符串必须使用同一种单或者双引号来定义开始和结束。例如:

$str1=

"I am a student.";

$str2=

'I am a student.';

定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:

$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遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是:

$str=

"Why doesn't "this

" work?"

就会被解析成一下三部分:

"Why doesn't "——包含一个单引号的双引号串

this——多余的字符,分析器无法处理

" work?" ——普通字符串

那么我们怎么解决这个问题呢?可以通过使用转义字符将字符串中的引号作为字符串的一部分。正确的表示方法是这样:

$str=

"Why doesn't \"this\" work?"

二、字符串的连接

字串可以使用字串连接符(.)来连接,如:

$first_name =

'Charlie';

$last_name =

'Brown';

$full_name =

$first_name .

' ' .

$last_name;

常见的用途是建立大块的HTML字串代码,赋值号 (=) 连接符 (.) 可以被简写合并为 (.=) 符 号,如:

$html =

'

$html .=

'

numbersquare';

for

(

$i=

0 ;

$i<

10 ;

$i++

)

{

$square =

$i *

$i;

$html .=

'

' .

$i .

'

' .

$square .

'

';

}

$html .=

'

';

三、在字串中使用变量

单引号串和双引号串在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

需要说明的是,在脚本中使用单引号串处理速度会更快些,因为PHP语法分析器对单引号串的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sbe 详解_内部简单二进制编码(SBE)

sbe 详解SBE是用于金融行业的非常快速的序列化库&#xff0c;在本博客中&#xff0c;我将介绍一些使其快速发展的设计选择。 序列化的全部目的是对消息进行编码和解码&#xff0c;并且有很多可用的选项&#xff0c;例如XML&#xff0c;JSON&#xff0c;Protobufer&#xff0c;…

php调用swf文件上传,swfupload-jquery-plugin AJAX+PHP 文件上传

var listitem>file.name (Math.round(file.size/1024) KB)>>>Pending;$(#log).append(listitem);$(this).swfupload(startUpload);})//绑定开始上传文件事件.bind(uploadStart, function(event, file){$(#log li#file.id).find(p.status).text(Uploading...);$(#lo…

aws lambda使用_使用AWS Lambdas扩展技术堆栈

aws lambda使用面对现实吧。 调试性能问题很困难&#xff0c;但是更难解决。 假设您发现了有害的代码&#xff0c;这些代码正在拖慢您的应用的运行速度。 最终会有一段时间&#xff0c;您发现此代码减速是同步的或线性执行的。 解决这些有问题的代码段的最有效方法之一就是将最…

Java声明定义抽象类/接口/继承/实现

文章目录声明定义抽象类声明定义接口派生类、抽象类、接口的继承要点声明定义抽象类 public abstract class CRMSystem {public abstract Client add(Client newGuy); //添加用户方法public abstract Event add(Event e, Client guy); //重载添加事件、用户方法public abstrac…

cuba开发_使用CUBA进行开发–与Spring相比有很大的转变?

cuba开发阅读另一个供内部公司使用的Web项目的要求时&#xff0c;您&#xff08;至少是我自己&#xff09;通常会看到一个很普通的集合&#xff1a;定义明确的数据存储结构&#xff08;或有时是现有的旧数据库&#xff09;&#xff0c;大量的数据输入形式&#xff0c;非常复杂的…

imagettftext php7,mac php7 imagettftext

Mac OS X 自带PHP环境gd库安装扩展freetype问题&#xff1a; “Call to undefined function imagettftext()”解决方法&#xff1a;curl -s [http://php-osx.liip.ch/install.sh](https://link.jianshu.com/?thttp://php-osx.liip.ch/install.sh) | bash -s 7.3sudo vim ~/.ba…

图片授权模式

RM、RF、PE是3种不同的图片授权模式&#xff0c;由图片卖家设定&#xff0c;图片买家根据自己的需要来进行选择。这三种模式是图片行业在发展过程中&#xff0c;经过对图片用户需求的不断总结而确定的。摄影师可以根据自己的销售意愿&#xff0c;在编辑图片的时候&#xff0c;对…

java线程池延期执行一次_Java使用者的延期执行

java线程池延期执行一次在前面的博客文章&#xff08;“ 延迟执行Java的供应商 “&#xff09;&#xff0c;我引用礁HORSTMANN的陈述书中‘ 的Java SE8为真的很急关于lambda表达式’&#xff0c;‘所有的lambda表达式的点被推迟执行 。’ Horstmann在最后一年为Dobb博士的杂志写…

python时间序列数据分析,Python数据分析之时间序列

Python数据分析之时间序列发布时间&#xff1a;2020-07-10 06:56:27来源&#xff1a;51CTO阅读&#xff1a;808作者&#xff1a;up4ever1. 时间序列类型时间戳(timestramp)即特定的时刻固定时期(period)如2018年1月或2018年1月1日时间间隔(interval)由起始和结束时间戳表示2. P…

java jdk 序列化_JDK 11:Java序列化的终结开始了吗?

java jdk 序列化在博客文章“ 将Google的协议缓冲区与Java结合使用 ”中&#xff0c;我引用了乔什布洛赫&#xff08;Josh Bloch&#xff09;的第三版的有效Java &#xff0c;他写道&#xff1a;“没有理由在您编写的任何新系统中使用Java序列化。” Bloch建议使用“跨平台结构…

php+ksort+返回true,PHP preg_replace函数

mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit] )在PHP中用来执行正则表达式的匹配以及替换的函数。可以返回一个正则表达式转换后的值。在subject中搜索pattern模式的匹配项&#xff0c;并用replacement模式进行替换。如果指定了 limit&…

下拉选择框

</select> 标签有一个属性 multiple&#xff0c;将其设置成 multiple"multiple" 按住 Ctrl 键即可实现多选。 请看例子&#xff1a; <html><head><meta http-equiv"Content-Type" content"text/html; charsetgb2312" />…

rest端点_REST:使用Controller端点?

rest端点在一般的REST架构中&#xff0c;基本概念是资源。 在资源之后&#xff0c;下一步是为这些资源开发一个统一接口&#xff0c;这在HTTP领域通常意味着&#xff1a; 创建为POST 阅读就是GET 更新为PUT&#xff08;或部分更新为PATCH&#xff09; 删除已删除 在现实世…

Java 字符串与整数之间的互相转换

1、如何将字符串String转化为整数int int i Integer.parseInt(str); int i Integer.valueOf(my_str).intValue(); 注: 字串转成Double, Float, Long的方法大同小异。 2、如何将字符串String转化为Integer Integer integerInteger.valueOf(i)3、如何将整数 int 转换成字串 Str…

hello world_建立无服务器的“ Hello World”功能

hello world无服务器 &#xff0c;功能即服务&#xff08;FaaS&#xff09;或仅具有云功能&#xff0c;就可以编写将在云中运行的代码。 您可以使用多种不同的语言&#xff08;例如JavaScript&#xff08;Node.js&#xff09;&#xff0c;Swift&#xff0c;Python&#xff0c;J…

xshell调出oracle安装界面,XShell+Xmanager实现在XShell中显示远程服务器的图形界面

你可以使用Xmanager软件&#xff0c;远程安装Oracle软件&#xff0c;Linux操作系统使用字符安装并不影响这种方式的使用。这个方案也可以大大优化你的Linux系统的性能&#xff0c;进而提高你的数据库性能。启动你的的Xmanager&#xff0c;我现在使用的是3.0版本&#xff0c;接收…

Oracle 数据库错误信息:动态执行表不可访问,本会话的自动统计被禁止

使用 PL/SQL 时, 每次第一次打开表的时候会提示以下信息&#xff1a; 动态执行表不可访问&#xff0c;本会话的自动统计被禁止&#xff0c;原因&#xff1a;V$SESSION,V$SESSTAT,V$STATNAME 没有被授权&#xff0c;没有权限访问这几张表&#xff0c;所以没有本法进行统计!那就…

jdk类加载器执行步骤_[JDK 11] jcmd中的类加载器层次结构详细信息

jdk类加载器执行步骤自从在JavaOne 2012上听说 jcmd以来&#xff0c;我就一直是命令行诊断工具jcmd的 粉丝 。 从那时起&#xff0c;我已经广泛使用了此工具&#xff0c;并多次在此博客中发布过此工具&#xff1a; jcmd&#xff1a;一个可以全部统治的JDK命令行工具 确定活动…

7445 oracle,Oracle 10g impdp 报 ORA-7445 [_INTEL_FAST_MEMCPY.A] 解决方法

在Oracle 10.2.0.4 以后的平台&#xff0c;我们在使用数据泵导入物化视图时&#xff0c;可能会遇到如下错误&#xff1a;...ksedmp: internal or fatal errorORA-7445: exception encountered: core dump [_intel_fast_memcpy.A()10][SIGSEGV] [Address not mapped to object] …