请问在$P="PI1"或等于"PI2"时,为什么PI1或PI2都必须要用双引号引起来呢?我试着把双引号改成单引号时,为什么提交出来的结果是一样的呢?
因为用constant取值时,它的语法格式是这样的constant(string constant_name);括号里的常量名必须是字符串的形式;
因此$area=constant($p)*$r*$r;其实就等同于$area=constant("PI1")*$r*$r; //PI1常量名必须要有引号
所以变量$p 传进去时 必须要给常量名PI1加引号(单引号双引号都可以)
但相对于$p本身的值就是一个字符串;
所以提目的结果是
3.14
string(3) "PI1"
"PI1"或"PI2"是给p赋的字符型的变量值