单双引号以前一直都是随便用,感觉最大的作用就是写SQL语句变量需要同时用到单引号和双引号的时候才做一下区分,最近在做一个字符串公式计算的过程中遇到了问题,才知道原来区别还是挺大的,记录一下:
$a = '100/5';
$b = eval("return $a;");
$c = eval('return $a;');
echo $b;
//输出20
echo '<hr>';
echo $c;
//输出100/5
总之就是,双引号内的字符串中如果出现了$开头的内容(公式),在执行eval()的时候会被当做是PHP变量来处理计算,而单引号内的$开头变量内容(公式)会被当成是纯文本来处理.