分析PHP中单双引号的误区和双引号小隐患

 更新时间:2016年07月19日 14:35:46   投稿:daisy  
PHP中单双引号常常会给人带来很多的误区,其中双引号还有些小隐患,下面是小编给大家整理的,需要的可以参考。

许多程序员以为在PHP中单引号和双引号是一样的,其实这要看怎么用法,在有些方面它们确实是一样,但有一些方面它们也有着很大的区别,今天小编就来为您说说有哪些区别。

1、一般情况下两者是通用的.但如果双引号内写的是变量就会执行解析操作,而单引号则不解析,这个怎么说?还是举个例子吧。

这下看明白了吧!

2、执行效率不一样,单引号的执行速度要比双引号的执行速度快,如果是一样大型的程序,这方面还是要注意优化的,毕竟PHP属于解释型语言。所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引会更灵活些。

PHP双引号小隐患

PHP很多语法特性会让攻击者有机可乘,例如PHP会检测双引号中的变量。

执行如下代码:

function test()
{
 echo "abc";
}
echo "${@test()}";
 
//或者

 echo ${@phpinfo()};

原理如下:

$a = 'b';
$b = 'a';
 
echo $$a; //a

以上就利用了PHP可变变量,双引号{}可解析双引号内的变量内容特性制造出来的小麻烦。 大家看懂了吗?这些误区和小隐患程序员们在平时要多多注意了。

相关文章

  • php实现百度云加速API及SDK封装

    php实现百度云加速API及SDK封装

    这篇文章主要为大家介绍了php实现百度云加速API及SDK封装的示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)

    Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)

    这篇文章主要为大家详细介绍了Windows下PHP开发环境搭建教程:Apache+PHP+MySQL,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • PHP源代码数组统计count分析

    PHP源代码数组统计count分析

    偶然在百度知道中看到有个同学问起count及strlen的效率问题,好吧这个问题我当初没理解透彻,认为其不属两个不一样的东西不可比较,后来看了楼主的回复才反应过来,所以自己也去找了下源码查看下。现在总结下查看到的结果并记录之。
    2011-08-08
  • php 结果集的分页实现代码

    php 结果集的分页实现代码

    php结果集的分页,后面都有详细的说明。最近的php将会让你学到更多。
    2009-03-03
  • 解决cPanel无法安装php5.2.17

    解决cPanel无法安装php5.2.17

    做国外生意的朋友换购一台服务器,需要重新安装cPanel,花了几十美元买来的cPanel不支持5.2.17,最低版本支持到5.3.27,最高5.5,这让人非常恼火,上官网找解决方法,如下为安装php5.2.17的方法。
    2014-06-06
  • PhpStorm+xdebug+postman调试技巧分享

    PhpStorm+xdebug+postman调试技巧分享

    写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了
    2020-09-09
  • php计算多维数组中所有值总和的方法

    php计算多维数组中所有值总和的方法

    这篇文章主要介绍了php计算多维数组中所有值总和的方法,涉及php针对多维数组递归调用的技巧
    2015-06-06
  • PHP include_path设置技巧分享

    PHP include_path设置技巧分享

    当时候函数include(),require(),fopen_with_path()函数来寻找文件时候.在不设置include_path的情况下,这些函数打开文件时候默认的是以web根目录去寻找.当设置include_path以后,这些php函数就会先在指定的include_path目录下面去搜索寻找
    2011-07-07
  • 详解PHP框架EasySwoole

    详解PHP框架EasySwoole

    EasySwoole是一款常驻内存型的分布式swoole框架,专为API而生,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、TP风格的协程ORM、协程微信SDK等诸多组件。让开发者编写出多进程,可异步,高可用的应用服务。
    2021-05-05

最新评论