电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

PHP中单引号与双引号的区别讲解

8页
  • 卖家[上传人]:m****
  • 文档编号:53836130
  • 上传时间:2018-09-05
  • 文档格式:DOCX
  • 文档大小:22.59KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、PHPPHP 中单引号与双引号的区别讲解中单引号与双引号的区别讲解看好多代码有时候用单引号或双引号实现包含字符串的内容,其实简单个概括下双引号中的变量可以解析,单引号就是绝对的字符串。1、定义字符串在 PHP 中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:Hello“和“Hello为非法的字符串定义。定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:Php 代码复制代码代码如下:$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

      2、quote string“ inside a single quote string;而串 “Why doesnt “this“ work“ 则会被分为三段。如果在这个串中想要表示出双引号,则可以使用转义符“(反斜线),变成 “Why doesnt “this“ work“ 即可。2、字符串变量中的单、双引号PHP 允许我们在双引号串中直接包含字串变量,我们可以发现下面的两个字串的处理结果是相同的。复制代码代码如下:$full_name = $first_name . . $last_name;$full_name = “$first_name $last_name“;单引号串和双引号串在 PHP 中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如:Php 代码复制代码代码如下:$foo = 2;echo “foo is $foo“; / 打印结果: foo is 2echo foo is $foo; / 打印结果: foo is $fooecho “foo is $foon“; / 打印结果: foo is 2 (同时换行)echo f

      3、oo is $foon; / 打印结果: foo is $foon$foo = 2;echo “foo is $foo“; / 打印结果: foo is 2echo foo is $foo; / 打印结果: foo is $fooecho “foo is $foon“; / 打印结果: foo is 2 (同时换行)echo foo is $foon; / 打印结果: foo is $foon正如你所看到的,在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠和插入单引号)。所以,当你想在字串中进行变量代换和包 含n(换行符)等转义序列时,你应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些,因为 PHP 语法分析器对单引号串 的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。金星棋牌 http:/在字符串中引用复杂的变量组合时,可能会产生一些问题,下面的代码会正常工作:Php 代码复制代码代码如下:echo “value = $foo“;echo “value = $a$i“;echo “value = $fo

      4、o“;echo “value = $a$i“;而下面的代码却不能得到我们希望的结果:echo “value = $a$i$j“; /我们希望打印二维数组$a 的某个元素。为避免这些字串使用中的潜在问题,我们通常把复杂的变量从字串中分离开来,就像这样:echo value = . $a$i$j;/字符串的连接用点(.)还有一种办法是将复杂变量用花括号括起来,语法分析器就能正确辨认了:echo “value = $a$i$j“ /打印二维数组$a 的某个元素3、在 SQL 语句中这是会经常遇到的问题,在插入数据库的 SQL 语句是采用单引号来定义字符串,如果要将一个含有单引号的字符串插入数据库,这个 SQL 语句就会出错。如:$sql=“insert into userinfo (username,password) Values(OKefee,123456)“此时,处理的方法之一是在 SQL 语句中加入转义符反斜线,即:Values(OKefee,当然也可以使用函数 addslashes(),该函数的功能就是加入转义符,即:$s = addslashes(“OKefee“) Values

      5、(“.$s.“,还有一种方法是设置 php.ini 中的 magic-quotes 选项,打开该选项,则通过表单提交的信息中如果有单引号是,将会自动加上如转义符。因此不用使用其他函数了。补充: 这就要从双引号和单引号的作用讲起: 双引号里面的字段会经过编译器解释然后再当作 HTML 代码输出,但是单引号里面的不需要解释,直接输出。例如:复制代码代码如下:$abc=I love u;echo $abc /结果是:I love uecho $abc /结果是:$abcecho “$abc“ /结果是:I love u所以在对数据库里面的 SQL 语句赋值的时候也要用在双引号里面 SQL=“select a,b,c from .“ 但是 SQL 语句中会有单引号把字段名引出来例如:select * from table where user=abc;这里的 SQL 语句可以直接写成 SQL=“select * from table where user=abc“但是如果象下面:复制代码代码如下:$user=abc;SQL1=“select * from table where user= “

      6、.$user.“ “;对比一下SQL2=“select * from table where user= abc “我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。也就是把abc 替换为 “.$user.“都是在一个单引号里面的。只是把整个 SQL 字符串分割了。 SQL1 可以分解为以下 3 个部分1:“select * from table where user= “2:$user3:“ “字符串之间用 . 来连接,这样能明白了吧。一、引号定义字符串在 PHP 中,通常一个字符串被定义在一对引号中,如:I am a string in single quotes“I am a string in double quotes“PHP 语法分析器是用成对的引号来判断一个字符串的。因此,所有字符串必须使用同一种单或者双引号来定义开始和结束。例如,下面的字串定义是不合法的:“I am not a valid string since I have unmatching quote marksMe neither!“定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如

      7、果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:$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 遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是:“Why doesnt “this“ work“实际上被 PHP 语法分析器分成三个部分:“Why doesnt “包含一个单引号的双引号串this多余的字符,分析器无法处理“ work“ 普通字符串上面的这个例子企图在双引号串中包含双引号,而分析器在遇到第二个双引号时便认为字符串结束了。要达到包含引号的目的,必须分析器在遇到串内普通引号的时候忽略它的原意,我们在引号的前面加上一个反斜杠来告诉 PHP:这个引号是字符串的一部分,正确的表示方法是这样:“Why doesnt “that“ work“在英文字符串中一个常见的问题是撇号的使

      8、用,因为它就是一个单引号,而在英文串中十分常见(英文所有格)。你必须小心处理这些字符:Youd better escape your apostrophes可以看到反斜杠在字符串中有他的特殊含义,当我们需要在字符串中包含反斜杠本身时,需要在该符号前面多加一个反斜杠。例如:$file = “c:windowssystem.ini“;echo $file; / 打印结果为: c:windowssystem.ini$file = “c:windowssystem.ini“;echo $file; / 打印结果为: c:windowssystem.ini另一种字符串定义方式,能够消除特殊字符的烦恼,而且便于引用较长的文本。该字符串定义方法以符号紧跟一个自定义字符串开头,最后一行以该自定义字符串结束,并且必须顶格。天地棋牌 http:/二、字串的连接字串可以使用字串连接符(.)来连接,如:$first_name = Charlie;$last_name = Brown;$full_name = $first_name . . $last_name;常见的用途是建立大块的 HTML 字串代码,赋值

      9、号 (=) 连接符 (.) 可以被简写合并为 (.=) 符号,如:$html = ;$html .= ;for ( $i=0 ; $i10 ; $i+) $square = $i * $i;$html .= ;$html .= numbersquare . $i . . $square . ;三、在字串中使用变量这个功能让你无须使用连接符号来粘和大量的简单字符串。PHP 允许我们在双引号串中直接包含字串变量,我们可以发现下面的两个字串的处理结果是相同的。$full_name = $first_name . . $last_name;$full_name = “$first_name $last_name“;单引号串和双引号串在 PHP 中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如:$foo = 2;echo “foo is $foo“; / 打印结果: foo is 2echo foo is $foo; / 打印结果: foo is $fooecho “foo is $foon“; / 打印结果: foo is 2 (同时换行)echo foo is $foon; / 打印结果: foo is $foon正如你所看到的,在单引号串中甚至反斜杠也失去了他的扩展含义(除了插入反斜杠和插入单引号)。所以,当你想在字串中进行变量代换和包含n(换行符)等转义序列时,你应该使用双引号。单引号串可以用在其他任何地方,脚本中使用单引号串处理速度会更快些,因为 PHP 语法分析器对单引号串的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。在字符串中引用复杂的变量组合时,可能会产生一些问题,下面的代码会正常工作:echo “value =

      《PHP中单引号与双引号的区别讲解》由会员m****分享,可在线阅读,更多相关《PHP中单引号与双引号的区别讲解》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.