当前位置:首页 > 技术文档 > 正文内容

实例分析php单引号和双引号的区别

admin11年前 (2015-11-25)技术文档1668

使用php有一段时间了,在单引号和双引号的使用上,一直没有太过在意,感觉使用哪个都一样,没有发现有什么区别。例如:

$name = '卡卡测速网';
$name = "卡卡测速网";

这两种写法的意思是完全一样的。大多数情况下,我们大家都是定义变量时使用单引号或双引号,就如上述的例子一样,不会觉察到它们之间有什么不同,所以比较容易忽视单引号和双引号它们在某些场合的区别。

今天我写了个php程序,但是无论如何都测试不成功,但我真的确信程序没有问题,因为只是很简单的两三行的代码。如下所示:

<?php
$query = "http://www.webkaka.com/s.asp?q=http$bj$3.15"; //这里用的是双引号
file_get_contents($query);
?>

上述代码,本意是给s.asp传一个q的参数,参数值为“http$bj$3.15”。这貌似很简单的问题,却把我折腾的哭笑不得。因为我在s.asp接收到的q参数值并不是“http$bj$3.15”,而是“http$3.15”。我非常郁闷,“$bj”几个字符怎么丢失了?我百思不得其解。

在经历了好多测试后,最后在把上述程序的双引号改为单引号之后,总是传参正常了。



从失败中吸取经验,通过这次事件,让我不得不意识到在php程序里单双引号的不同。最后又经过多个实例的测试,得出如下结论:

双引号里的语句是经过解析后输出,单引号里的语句是直接输出。

例一:

$a = "b";
$name1 = '$a';
$name2 = "$a";

结果:
echo $name1 输出 $a;echo $name2 输出为b,因为双引号里的$a会被先解析,$a会被视作一个变量,而这个变量的值为b。

php会把“$”及其后的字母或数字当作一个变量,双引号内仅仅是第一个“$”被视作变量

例二:

$name1 = "$c.1";
$name2 = "$c1.1";
$name3 = "$c#1";
$name4 = "$c$1";

结果:
echo $name1输出“.1”,echo $name2输出“.1”,echo $name3输出“#1”,echo $name4输出“$1”。从这可以看出php会把“$”及其后的字母或数字当作一个变量,且双引号内仅仅是第一个“$”被视作变量。


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/122.html

分享给朋友:

“实例分析php单引号和双引号的区别” 的相关文章

php 获取当前网址

function get_url() {     $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER...

dz中“QQ互联”出现Discuz! Database Error解决办法

dz中“QQ互联”出现Discuz! Database Error解决办法

dz中QQ登陆出现Discuz! Database Error解决办法dz站长朋友相信肯定有人遇到做的QQ互联登录,根本没法用,这让网站的社交登录性能大打折扣,这么解决?下面就看大神的神操作!...

ThinkPHP分页的实现

分页类需要和查询相结合,我们可以使用ThinkPHP自带的limit方法或者page方法,目的就是为了获取当前分页的数据(也有先获取完整数据然后前端分页显示的方法,不在本文描述内容中,也不建议)。使用limit方法或者page方法是和数据库类型无关的。我们首先在数据库里面创建一个think_data...

phpcms v9更换模板的具体操作方法

phpcms v9更换模板的具体操作方法

这篇文章主要介绍了phpcms v9更换模板的具体操作方法,需要的朋友可以参考下分享一下Phpcms V9更换模板的具体操作方法先分享下大概的步骤:1、上传模版文件到服务器;2、在站点管理 里边【模板风格配置】选择新模板;3、设置不同模型对应模板;4、修改现有的栏目,匹配新模板;5、更新栏目缓存、系...

jQuery UI 使用入门

jQuery UI 使用入门

 最近项目中使用了一些插件来做页面,这里把jQuery UI的使用分享出来,希望 对新手有帮助。文章结尾附源码下载。1 jQuery UI        有时你仅仅是为了实现一个渐变的动画效果而不得不把javascrip 重新学习一遍然后书写大量代码。直到...

php利用百度地图API进行IP定位和GPS定位

最 近在做一个手机端的webapp地图应用,而核心内容当然是定位了,但是定位的话有几种方式,IP定位,GPS定位,基站定位(这个貌似webapp用不 了), 那么剩下核心的gps定位和ip定位了,我们知道,html5有定位API,但是该API拿到的GPS数据是硬件坐标,无法直接显示在地图上。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。