为什么 我下面把 echo "PII" 换成 echo $p 居然 输出的是PII呢...我不懂 PII 等于3.14 而且上面$p=PII了 那么$p也应该是3.14才对啊... 怎么会 输出PII呢 谁知道 给我详细 解释下 谢谢啊
定义的是$p变量,存放的是字符串'PII',define($p,3.14相当于define("PII",3.14), $p仍然是一个变量,值为“PII”。
define(string $constant_name, mixed $value[, $case_sensitive = true])
个人认为是由于第一个参数类型必须是String字符类型,所以变量在此函数内直接使用了本来的赋值后的字符,
当echo 变量 时,echo是输出变量的内容,所以echo还是此变量的内容(本例子是字符,所以输出的也是字符)
在define($p,3.14)中,$p被披上了一个壳,也就是常量。而$p="PII"中$p是一个变量,这两个$p是不一样的,你输出$p.电脑判断的$p就是一个变量。
那你把$p = "PII"这句话删除了试一下
你那个$p = "PII";是把PII当成一个字符串传给$p了。
你是加了双引号么?加双引号被当做字符串了吧