PHP单引号与双引号的区别: 单引号和双引号的唯一的区别就是: 用单引号包起来的PHP解释器不会对其二次解释,而双引号却要二次解释, 看代码: <?php
$a=8;
$b=8;
echo “$a+b$”.”<br />”;
echo ‘$a+b$’;
?> 这样我们知道了单引号与双引号的区别,但是这样会带来一个安全漏洞 <?php
$a=”${@phpinfo()}”;
?> 确实执行了,那么这就说明.直接赋值的字符串变量尽量用单引号.试试数组呢? <?php array(1=>”${@phpinfo()};”) ?> 数组也成功被解析了,这就意味这:作为配置文件,不能或尽量少用双引号,这样很容易被入侵或被恶意攻击。 拓展阅读: 关于PHP单引号和双引号的区别: PHP会对用双引号包起来的字符进行解析,例如: $str = '早上好';echo $str; //输出:早上好echo "$str"; //输出:早上好echo '$str'; //输出:$str其实在之前的PHP100视频教程里我就讲过,单引号和双引号的区别和效率问题,但还是很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。 所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。 ” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ‘ ‘ 单引号里面的不进行解释,直接输出。 从字面意思上就可以看出,单引号比双引号要快了。 例如: $abc = 'my name is tome';echo $abc //结果是:my name is tomecho '$abc' //结果是abcecho "$abc" //结果是:my name is tom
|