问答详情
源自:4-1 PHP-什么是常量

问个问题啊

为什么 我下面把 echo "PII"  换成 echo $p 居然 输出的是PII呢...我不懂  PII 等于3.14 而且上面$p=PII了  那么$p也应该是3.14才对啊... 怎么会 输出PII呢  谁知道 给我详细 解释下 谢谢啊

提问者:慕姐4424294 2015-12-01 20:44

个回答

  • 3水淼渺
    2015-12-03 10:32:06
    已采纳

    定义的是$p变量,存放的是字符串'PII',define($p,3.14相当于define("PII",3.14), $p仍然是一个变量,值为“PII”。

  • kertz
    2016-07-08 11:18:06

    define(string $constant_name, mixed $value[, $case_sensitive = true])

    个人认为是由于第一个参数类型必须是String字符类型,所以变量在此函数内直接使用了本来的赋值后的字符,

    当echo 变量 时,echo是输出变量的内容,所以echo还是此变量的内容(本例子是字符,所以输出的也是字符)

  • wink12
    2015-12-22 15:59:11

    在define($p,3.14)中,$p被披上了一个壳,也就是常量。而$p="PII"中$p是一个变量,这两个$p是不一样的,你输出$p.电脑判断的$p就是一个变量。

  • RockenRoll
    2015-12-02 11:44:59

    那你把$p = "PII"这句话删除了试一下

  • RockenRoll
    2015-12-02 11:02:35

    你那个$p = "PII";是把PII当成一个字符串传给$p了。

  • RockenRoll
    2015-12-02 10:05:31

    你是加了双引号么?加双引号被当做字符串了吧