php单引号和双引号的区别与用法
php里的单引号把内容当成纯文本,不会经过服务器翻译。而双引号则与此相反。里面的内容会经过服务器处理(process). 举个简单的例子:

function replaceBadChar($fileName)
{
// 去掉文件名中的无效字符,如 \ / : * ? " < > |
$fileName=str_replace('\\','_',$fileName);
$fileName=str_replace('/','_',$fileName);
$fileName=str_replace(':','_',$fileName);
$fileName=str_replace('*','_',$fileName);
$fileName=str_replace('?','_',$fileName);
$fileName=str_replace('"','_',$fileName);
$fileName=str_replace('<','_',$fileName);
$fileName=str_replace('>','_',$fileName);
$fileName=str_replace('|','_',$fileName);
return $fileName;
}
$str='\/:*?"<>|';
echo replaceBadChar($str);

最开始我把他们都用反斜杠转义了,结果只输出前1个,因为只有反斜杠和单引号需要在单引号中转义,其他都不需要。
还有一点的是,str_replace只是简单的字符串替换,与正则无关,所以上面的改成双引号也是ok的。
1.PHP,mysql两方的关键词与函数.例如echo,print,mysql_connect等等.这些肯定不加引号的.
2.常量.新手可能用得不多,常量的好处是全局性,穿透函数.速度也快些不过新手可以暂时不管常量这玩意儿.
3.变量.前面带"$"号的就是变量.可以为变量设一个"值",例如一串字符,一个数字,逻辑(真/假)值等.也可以表示一组值(数组,对象等)
4.值.通常要给常量与变量设置值.赋值语句$a=\'abc\'中,右边的\'abc\'即为值.
5.函数的参数(在括号里的).可以是常量,变量,值三种.
变量(常量)与值的关系正如下列各种情况.
"颜色"与"红",
"长度"与100,
"日期"与2007年10月25号"
二.什么情况下用PHP引号
其实只有第4项"值"需要用到引号,函数的里也只有值要用引号.并且只有字符串(日期值可以当成字符串)内容需要用到引号.数字(可用可不用),真假(不能用)例外.
例子
三.单引号与双引号的区别
一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.
例子
所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点.
四.字符串内部如果出现PHP引号怎么办--关于转义.
比如我们想输出: 我"是\'天才
这时候就必须用到转义了.转义即把本来有作用的符号转成无意义的字符.
这样就正常了,因为号把它后面的任何字符都转成无意义的符号.在这里来说,PHP解析器根本没把号后面的引号当成引号来看待.
同样的,还可以转义分号,$符号等特殊符号.
五.字符串的连接.
这是个麻烦的问题.一般来说,变量值,直接包含在双引号中就可以了.另外字符串的叠加用"."字符.
在复杂的情况里可以用大括号来包含,PHP便知道这是一个完整的东西,里面的引号不会影响到外面的引号关系.
与html的混合也很简单,最好养成HTML中全部用双引号,PHP中尽量用单引号的习惯.这样方便把大段的HTML代码复制过来,只要头尾加上单引号就是一个正确的字符串了.几百行的HTML代码也不用担心PHP引号错乱.
总结一下PHP引号使用原则
1.字符串的值用引号
2.PHP中尽量用单引号,HTML代码全部用双引号
3.在包含变量的时候,用双引号可以简化操作
4.复杂的情况下用大括号包起来
PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符\n需要用双引号才能好使,单引号则会直接把\n当成字符输出。
php单引号和双引号的区别与用法的更多相关文章
- C语言 单引号和双引号的区别
最近的C语言课在教字符串,貌似N多同学搞不清楚单引号和双引号的区别,有人还以为在C语言里用哪个都可以...其实C语言中的单引号和双引号含义是一点也不一样滴... 1.含义不同. 用单引号引起的一个字符 ...
- PHP单引号和双引号的区别
单引号和双引号的区别 .双引号 里的东西 输入的时候能判断是否 包含 变量,如果包含 变量 就一起输出 .单引号里的就不一样,不判断是否有变量,就全部当成 字符串 输出 .单引号解析的时间比双引号快 ...
- SQL - 单引号和双引号的区别
原文转载至:SQL中的单引号和双引号有区别吗? 在标准 SQL 中,字符串使用的是单引号. 如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义). 但在其它 ...
- shell脚本中:单引号和双引号的区别
单引号和双引号的区别 前面我们还留下一个疑问,定义变量时,变量的值可以由单引号' '包围,也可以由双引号" "包围,它们到底有什么区别呢?不妨以下面的代码为例来说明: #!/bin ...
- Delphi学习手记——单引号和双引号的区别
单引号和双引号的区别 双引号表示其中字符可能包含变量,而单引号表示整个引号内的东西都当成字符串来处理. 也就是说:没有内设变量就用单引号'',有就用双引号"". 举例说明: $va ...
- grep正则表达式后面的单引号和双引号的区别
单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换:双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容! 一般常量用单引号' ...
- [转]C语言单引号和双引号的区别
单引号和双引号在C中的意义完全不同,包围在单引号中的一个字符只是编写整数的另一种方法.这个整数是给定的字符在实现的对照序列中的一个对应的值,即ASCII码值.因此在一个ASCII实现中,‘a’和014 ...
- linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)
tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的she ...
- PHP单引号和双引号的区别。
JS写多了,到用PHP时以为不区分单引号和双引号.导致想用'\n'换行换不了,后来百度了一下,原来在PHP里单引号里面的内容会当作普通字符串不会再做任何处理.例如 $num=1; echo " ...
随机推荐
- StartUML破解
破解文件路径如今下: .../StarUML/www/license/node/LicenseManagerDomain.js 使用文本编辑器打开,红色字体为添加内容: function valida ...
- 自己写的一个Js小插件
这是效果图.上面一个过滤标签.下面弹出框,选择日,周,月.我的用途主要是报表查询的时候根据这3种类型来查询数据用的. 这里分享下代码. Js代码 (function ($) { $.extend($. ...
- spring问题org.springframework.beans.factory.CannotLoadBeanClassException
1.看jdk是否配置正确 2.把MyEclipse里面的那个classes删除让他重新编译就没什么问题了,只要配置是对的 3.重新clean project
- Nginx代码调试——gdb工具
参考网上的资料,写了一个configprint模块,其功能为打印输出location配置内容,并计数访问次数. 代码链接如下:https://github.com/PaulWeiHan/nginx_m ...
- 【课程分享】基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎
对这个课程有兴趣的朋友,能够加我的QQ2059055336和我联系,能够和您分享. 课程介绍:最有前途的软件开发技术--搜索引擎技术 搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个 ...
- 漏洞大爆光:QQ漏洞、飞秋漏洞、360浏览器劫持…
随着互联网应用的高速发展,信息安全已深入到诸多领域,前段时间发生的"Struts 2"漏洞及"心脏出血"漏洞影响了二亿中国网民的信息安全.原因是程序猿缺少细致的 ...
- TIMESTAMP 与 explicit_defaults_for_timestamp
在MySQL 5.6.6之前,TIMESTAMP的默认行为: TIMESTAMP列如果没有明确声明NULL属性,默认为NOT NULL.(而其他数据类型,如果没有显示声明为NOT NULL,则允许NU ...
- 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死
Sun shine 16:15:55 帅哥 我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万 然后 我每晚 把当天的数据select 导入一个新表中的时 ...
- 从Kali 2.0 转至 Kali Rolling
1. 修改官方软件库列表 编辑/etc/apt/sources.list,注释掉原有内容,然后添加下述内容. # kali rolling deb http://http.kali.org/kali ...
- 服务器CPU使用率过高排查与解决思路
发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况# mpstat -P ALL 2 1Linux 2.6.32-358.el6.x86_64 (linux— ...