Php 中单引号字符串和双引号字符串的区别是什么?

我不是 PHP 编程方面的专家,但是我有点困惑为什么我看到一些 PHP 代码的字符串放在单引号中,有时放在双引号中。
我只是知道。 NET,或 c 语言,如果它是单引号,这意味着它是一个字符,而不是字符串。

php

3个回答

用双引号而不是单引号来计算:

$s = "dollars";
echo 'This costs a lot of $s.'; // This costs a lot of $s.
echo "This costs a lot of $s."; // This costs a lot of dollars.

  • 在php中,如果字符串用双引号包含的话,解释器在解释的时候,会认为里面有php变量,会首先尝试解析变量,之后再按照正常的字符串进行处理;
  • 在单引号中,解释器会认为就是个字符串,哪怕有php变量在字符串中也会认为是字符串,而不是变量
$n = 1;
echo '$n的值是:' . "$n";    -- $n的值是:1

不仅可以通过两种方式指定PHP strings,还可以通过四种方式指定。
1. 单引号字符串
几乎完全按照原样展示 变量和大多数转义序列将不会被解释。 例外的情况是,要显示单引号,可以用反斜杠\'对其进行转义,你可以转义它与另一个反斜杠\ (所以,是的,即使是单引号的字符串也会被解析).
2. 双引号字符串
将显示大量转义字符(包括一些正则表达式) ,并计算字符串中的变量。 这里有一点很重要可以使用花括号来隔离要求值的变量的名称. 例如,假设你有一个变量$type你该怎么做echo "The $types are" 这将寻找变量$types . 为了避免这种使用echo "The {$type}s are" 你可以把左大括号放在美元符号之前或之后。
3. Heredoc
字符串语法像双引号字符串一样工作。它开始于<<<。 在这个操作符之后,提供了一个标识符,然后是换行符。字符串本身紧随其后,然后再次使用相同的标识符来关闭引号。在这种语法中,不需要转义引号
4. nowdoc诺多克
( PHP 5.3.0后有的)字符串语法的工作原理基本上类似于单引号字符串。 区别在于,即使是单引号或反斜杠也不需要转义。一个 nowdoc 被认为是相同的<<< 但是后面的标识符用单引号括起来,例如:<<<'EOT'。 在 nowdoc 中不进行解析

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于C#语句中单引号和双引号的问题

当onclick后面用\"\"或者""如: onclick=“OpenNewFormWindow(/Gps/Monitor/MonitorLine",{DeviceID:' + rowData.ID + '},"_blank")" 就会报错,而把onclick后面用单引号就好了 onclick=\'OpenNewFormWindow(/Gps/Monitor/MonitorLine",{DeviceID:' + rowData.ID + '},"_blank")\' 为什么???

在 PHP 中,单引号和双引号字符串的区别是什么?

<div class="post-text" itemprop="text"> <p>I'm not an expert in PHP programming, but I'm a little confused why I see some code in PHP with string placed in single quotes and sometimes in double quotes.</p> <p>I just know in .NET, or the C language, if it is in single quote, that means it is a character, not a string.</p> </div> <p>转载于:https://stackoverflow.com/questions/3446216/what-is-the-difference-between-single-quoted-and-double-quoted-strings-in-php</p>

Vue prop - 在字符串[duplicate]中传递单引号和双引号

<div class="post-text" itemprop="text"> <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/2109583/whats-the-best-practice-to-set-html-attribute-via-php" dir="ltr">What's the best practice to set html attribute via PHP?</a> <span class="question-originals-answer-count"> 4 answers </span> </li> <li> <a href="/questions/6249151/how-to-properly-escape-html-form-input-default-values-in-php" dir="ltr">How to properly escape html form input default values in php?</a> <span class="question-originals-answer-count"> 4 answers </span> </li> </ul> </div> <h2>The problem</h2> <p>I have a string like this (containing: both single and double quotes). </p> <blockquote> <p>She said: "Hey! That's my bike!!"</p> </blockquote> <p>I need it to be a title in a Vue component. I could pass it into a slot, but for other reasons, it would be awesome if I could pass it into a prop, as such:</p> <pre><code>&lt;?php $title = "She said: \"Hey! That's my bike!!\"" ?&gt; &lt;page-object title="&lt;?php echo $title; ?&gt;" &gt; &lt;/page-object&gt; </code></pre> <h2>Solution-attempts</h2> <p><strong>Attempt1:</strong> I've tried escaping the quotation-marks, but that doesn't work. Like this: </p> <pre><code>&lt;page-object title="Hey, single quote: ' and double quote: \" ... Doesn't work!" &gt; &lt;/page-object&gt; </code></pre> <p><strong>Attempt2:</strong> I could live without double-quotes, and do something like this: </p> <pre><code>&lt;?php $title = "She said: \"Hey! That's my bike!!\"" $title = str_replace( '"', "'", $title ); ?&gt; &lt;page-object title="&lt;?php echo $title; ?&gt;" &gt; &lt;/page-object&gt; </code></pre> <p>... but it's not ideal, since it's the end-users setting that page title. So it's kinda crap disallowing/automatically replacing this one (quite oftenly used) character. </p> <p><strong>Attempt3:</strong> JSON-encode it, but that generates a long string and I need to utilize the solution from attempt2, in order to make this work anyway. So it still doesn't make it possible to have both single and double quotes in the page titles. </p> <hr> <p>Ideally, I'm looking for a magical function, that I can run any string through in PHP, outputting a JSON-object. That I can then pass as a prop and parse inside my Vue Component, ensuring that both single and double quotes can squeeze through that keyhole. </p> </div>

'这里为什么既用单引号又用双引号

SAXReader reader = new SAXReader(); try { Document doc = reader.read(path); Element ele = (Element)doc.selectSingleNode("//user[@username='" + username + "']"); if(ele == null) return null;中doc,ele到底指什么,'" + username + "'这里为什么既用单引号有用双引号,双引号是字符串了,为什么又搞个单引号,这不是变字符了吗?

如何从字符串中删除双引号和单引号以及如何传入ajax调用

<div class="post-text" itemprop="text"> <p>I need to remove all double quotes,single quotes using jQuery AJAX in with google language translator in PHP when i change <code>onchange()</code> it does not translate the string or character if double quotes found. My code below:</p> <p><strong>HTML:</strong></p> <pre><code>&lt;select name="langid" id="langid&lt;@=review_id@&gt;" class="guest clearfix" style="width: 150px;height: 29px;" onchange='translate_text("&lt;@=review_id@&gt;","&lt;@=review_title@&gt;","&lt;@=your_view@&gt;","&lt;@=neg_review@&gt;");'&gt; &lt;/select&gt; </code></pre> <p><strong>JavaScript/jQuery:</strong></p> <pre><code>function translate_text($review_id,$review_title,$your_view,$neg_review) { var sel = jQuery('#langid'+$review_id).val(); var url=serverurl+'index.php/feedback'; showLoadingBar(); if(sel == 0) sel = 'en'; var passDataAsStr="opcode=translate_text&amp;positivereview="+ $your_view+"&amp;negativereview="+$neg_review+"&amp;title="+$review_title+"&amp;lang="+sel; jQuery.ajax({ type: "POST", url: url, //async : false, data: passDataAsStr, success: function(response) { hideLoadingBar(); // console.log(response); jQuery('#btnclose'+$review_id).show(); jQuery('#trans_div'+$review_id).show(); var res = jQuery.parseJSON(response); console.log(res['title']); console.log(res['posrev']); console.log(res['negrev']); jQuery('#titleid_'+$review_id).text(res['title']); jQuery('#positiveid'+$review_id).text(res['posrev']); jQuery('#negativeid'+$review_id).text(res['negrev']); } }); } </code></pre> <p>When I want change the language translator it does not change</p> <p>Suppose <code>$review_title = "New "home" away from home when in village"</code>, it does not translate in another languages,because double quotes <strong>"home"</strong> at the middle of string </p> <p>Any body having any idea please help to sort it out. Thanks</p> </div>

正则表达式查找双引号php中的所有子串

<div class="post-text" itemprop="text"> <p>I have a big database that has fields of paragraphs that are formatted like this:</p> <p>["This is the first sentence", "This is the second sentent", "This is the third sentence", "This is the fourth sentence"]</p> <p>I would like to extract the (using PHP) and put them in an array where each array element is a sentence. Right now, I am using this:</p> <pre><code>$trim_joined = substr($joined, 2, -2); //gets rid of the first and last bracket and double quote $sentences = explode('", "', $trim_joined); </code></pre> <p>It seems a bit fragile because I am not 100% sure that this field follows this exact same format for every row of the database (over 350,000 rows). I was wondering if there is a regular expression that extracts ALL elements of the strings that are inside double quotes and puts them in an array. This way, I don't have to worry if there are entries without the brackets at beginning and end.</p> <p>Unfortunately, i now little to nothing about regex so asking for help. Thanks in advance</p> </div>

在PHP变量中使用更新字符串时,在MySQL中单个引号

<div class="post-text" itemprop="text"> <p>I'm trying to replace a single quote mark when importing some data using LOAD DATA LOCAL FILE into MySQL... here is my query in PHP</p> <pre><code>$sql = "LOAD DATA LOCAL INFILE 'uploaded_files/uploaded.csv' INTO TABLE results FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\ \ ' IGNORE 1 LINES (Place, RaceNumber, Time, Firstname, Surname, Category, FirstInGroup, Notes, AdditionalNotes, club, Fullname) SET randomCode = '" .$random_code. "', distance = '" .$_POST["distance"]."', location = '" .$_POST["location"]."', DistanceName = '" .$_POST["distanceName"]."', intYear = '" .$_POST["intYear"]."', RaceDate = '" .$_POST["raceDate"]."', Race = '" .$_POST["race"]."', event = '" .$_POST["event"]."', raceID = '" .$_POST["raceID"]."', Time = replace(Time,'.',':'), Fullname = replace(Fullname,''',''''); "; </code></pre> <p>my problem is the Fullname = replace(Fullname,''',''''); doesn't work, i need to replace ' with '' but its already inside a string, how should the line look?</p> </div>

java中关于转义字符和单引号

单引号不是可以直接用双引号扩起来就能输出吗?为什么老师还要用到转义字符,转义字符到底有什么用了?

.NET 中双引号和单引号互相替换

StreamWriter swunion = new StreamWriter(Dir_SP + @"\C"+ ".txt",true); string txt= DA2["Text"].ToString(); if (txt.Contains("SELECT * FROM cti WHERE cti.DocTypeIdentity='abc'")) { ???? swunion.Write(txt); } 想写一个winform帮助导脚本的工具,发现单双引号问题太坑了。 用replace(“‘”““”);一个也没有解决的说,斜杠也加过,一样无效的说~ 怎么把单引号换成双引号同时把双引号换成单引号呢,这是个问题~求教~

关于js双引号与单引号的嵌套使用

这是工作中用的写法 ``` var view = '<a href="javascript:assign(\'' + record + '\')"style="color:red">手工分配</a>&nbsp;&nbsp;'; ``` 这是我理解的写法 ``` var view = '<a href="javascript:assign(' + record + ')"style="color:red">手工分配</a>&nbsp;&nbsp;'; ``` 事实证明我的写法是无法传递对象的,请问哪位大佬有这方面的资料我想学习一下

如何使用Sprintf对YAML文件采用的字符串中的单引号进行转义

<div class="post-text" itemprop="text"> <p>I'm using Go but I'm having issues while trying to get an array that contains a single quote, I'm making a query structure to create a .sql file with that query, the issue is with an array field that is adding double quotes instead of a single quote.</p> <p>This is what I have:</p> <p>Yaml File:</p> <pre><code>Name: 'Myname' Age: 9 Dimensions ['go', 'lang'] </code></pre> <p>Go code Syntaxis:</p> <pre><code>var Query string = ""; Query = fmt.Sprintf("INSERT INTO persons (name, age, dimensions) VALUES ('%s', %d, %q)") </code></pre> <p>OUTPUT:</p> <pre><code> Query: INSERT INTO persons (name, age, dimensions) VALUES ('MyName', 9, ["go", "lang"]) </code></pre> <p>I don't want "go" and "lang" double quoted, I want it as the YAML file came, with single quote.</p> <p>Is supposed that "%q" escape the single quote...</p> <p>any idea what to do?</p> </div>

转换字符串后单引号怎么办?

使用`[str UTF8String]` 或者 `[str cStringUsingEncoding:NSUTF8StringEncoding]` NSString: Nikita's iPad 输出: Nikita\xe2\x80\x99s iPad 单引号`'`怎么办?

sql 插入语句单引号和双引号问题

![![图片说明](https://img-ask.csdn.net/upload/201510/25/1445776180_122816.png)![图片说明](https://img-ask.csdn.net/upload/201510/25/1445776277_706972.png) 这两句语句都对吗?

请问:在JSP中有这么一段程序,为什么单引号里面还会有双引号呢?

![图片说明](https://img-ask.csdn.net/upload/201511/30/1448868298_965378.png)<body> <%for (int i=1;i<=7;i++) { out.println("<font size='"+i+"'>"); %> 好好学习天天向上</font> <br/> <%}%> } </body>

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

Python数据清洗实战入门

Python数据清洗实战入门

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

SAS9.4 SID(win 64位) 可使用至2021年5月

SAS 9.4 最新SID可使用至2021年5月,之前的2020年4月30日即将过期,过期后再更换SID会麻烦些,请及时更新SID。

相关热词 c# dbml文件 修改 c#遍历tree c# 能够控制单片机 c#对象写入数据库 c# 添加activex c#2005 json c# 数据库在云端 c# 字符串移位加密 c#禁用滚轮 c#实体类list去重复
立即提问