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+mysql扎实个人基本功
Mar 27 PHP
php at(@)符号的用法简介
Jul 11 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
CodeIgniter中使用cookie的三种方式详解
Jul 18 PHP
PHP查询快递信息的方法
Mar 07 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 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
php单件模式结合命令链模式使用说明
2008/09/07 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
js模块加载方式浅析
2017/08/12 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
Python实现基本线性数据结构
2016/08/22 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
html5唤起app的方法
2017/11/30 HTML / CSS
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
高中体育教学反思
2014/01/29 职场文书
安全生产演讲稿
2014/05/09 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
离婚案件被告代理词
2015/05/23 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL