php中的单引号、双引号和转义字符详解


Posted in PHP onFebruary 16, 2017

PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。

例如:

<?php

    $name="string";

    echo " 字符串" . '$name';

    echo  "字符串" . "$name"; 

?>

结果:

字符串$name

字符串string

转义字符,顾名思义会将规定的语法用"\"来输出。但语法规定在不同的系统中转义字符的作用不同,例如:windows下的回车换行符用"\r"或"\n",而Linux 这两就有很大的区别:"\r"光标回到行首,但还在本行; "\n"表示下一行,不会回到行首。

PHP中的转义字符有:

" \n" ==>换行

"\r"==>回车

"\t"==>水平制表符

"\\"==> 反斜杠

"\$" ==>美元符号

" \' "==>单引号

" \" " ==>双引号

" \[0-7]{1,3} " 正则表达式匹配一个八进制符号表示的字符

" \x[0-9A-Fa-f]{1,2} " 正则表达式匹配一个十六进制符号表示的字符

在PHP中,可以使用 echo() 和 print() 语句发送数据到Web浏览器,也可以使用它们发送HTML 代码到Web浏览器。从技术上讲,echo() 和 print() 是语言构造,而不是函数,这里用了一对括号,从而有助于与变量以及PHP的其他部分区分开。这两个语句本质上没有什么区别,因此用那一个都不会产生任何问题。这依个人习惯。它们不区分大小字。

在PHP中,理解单引号与双引号有什么区别是重要的。当所发送的数据中涉及到单引号和双引号时,在打印双引号时使用单引号,反之亦然,如:

echo 'She said,"How are you?"'; 

print "I'm just ducky.";

或者,通过在有问题的字符前面放置一个反斜杠,对它进行转义:

echo "She said,\"How are you?\" ";

print 'I\'m just ducky.';

在PHP中,封闭在单引号内的值将照字面意义进行处理,而封闭在双引号内的值则将被解释。换句话说,把变量和特殊字符(见表1)放在双引号内将导致打印出它们所表示的值,而不是它们的字面值。如:

$var = 'test';

代码 echo "var is equal to $var";

将打印出 var is equal to test,而代码echo 'var is equal to $var';

将打印出var is equal to $var。使用一个转义的美元符号,代码echo"\$var is equal to $var";

将打印出$var is equal to test,而代码echo '\$var is equal to $var';

将打印出\$var is equal to $var。

表1 当在双引号内使用这些字符时,它们具有特殊的含义

转义字符代码 转义字符的含义
\ " 双引号
\ ' 单引号
\ \ 反斜杠
\ n 换行符
\ r 回车符
\ t 制表符
\ $ 美元符号

正如以上例子所说明的,双引号将用变量的值(test)代替它的名称($var),并用特殊字符表示的值($)代替它的代码(\$)。单引号总是准确地打印你输入的内容,除了转义的单引号(\')和转义的反斜杠(\\)之外,它们将分别被打印为一个单引号和一个反斜杠。

提示:

1、由于PHP将试图找出那些需要将其值插入到双引号内的变量,所以从理论上讲,使用单引号要快一些。但是,如果需要打印一个变量的值,则必须使用双引号。

2、因为有效的HTML常常包括许多用双引号括住的属性,所以当利用PHP打印HTML时,使用单引号最容易。

echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';

如果想使用双引号打印出上面这段HTML代码,将不得不对字符串中的所有双引号进行转义,所以相对来说较麻烦。

以上这篇php中的单引号、双引号和转义字符详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
phpMyAdmin 安装教程全攻略
Mar 19 PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
PHP中each与list用法分析
Jan 08 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
joomla组件开发入门教程
May 04 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 PHP
php输出图像的方法实例分析
Feb 16 #PHP
替换php字符串中的单引号为双引号的方法
Feb 16 #PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 #PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 #PHP
php的PDO事务处理机制实例分析
Feb 16 #PHP
php使用include 和require引入文件的区别
Feb 16 #PHP
Yii2实现UploadedFile上传文件示例
Feb 15 #PHP
You might like
smarty模板中拼接字符串的方法
2014/02/14 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
jquery tab插件精简版分享
2011/09/10 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
施工安全标语
2014/06/07 职场文书
爱的教育观后感
2015/06/17 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python
js 实现验证码输入框示例详解
2022/09/23 Javascript