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 相关文章推荐
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
组合算法的PHP解答方法
Feb 04 PHP
优化PHP程序的方法小结
Feb 23 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 PHP
PHP新手指南
Apr 01 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
基于mysql的bbs设计(三)
2006/10/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
python读取文件名称生成list的方法
2018/04/27 Python
用Python实现读写锁的示例代码
2018/11/05 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
外语系毕业生自荐信范文
2013/12/16 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
交通事故代理词范文
2015/05/23 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
如何用python插入独创性声明
2021/03/31 Python
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
JavaScript canvas实现流星特效
2021/05/20 Javascript
实例详解Python的进程,线程和协程
2022/03/13 Python
redis复制有可能碰到的问题汇总
2022/04/03 Redis
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript