把常量赋值给变量为什么要用字符串呢?
这明明是把字符串赋值给字符串,注意第一行有$p="";
按我的理解,调用define函数的时候,编译器把"PI2"和3.14组成了一个键值对。以后再解释"PI2"的时候就认为这个字符串代表3.14。这一点与c语言不太一样。c语言的常量被赋予一个标识符,这个标识符实际上代表了一个内存地址。编译器可以可以通过这个地址找到相应的常量的值。总结成一句话。php通过解释字符串(键值对中的键)来找到值,c语言通过内存地址找到值。
个人理解,不一定对,但是希望对你有点帮助。