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

$p = "PII";不是赋值语句吗?

$p = "PII";不是赋值语句吗?为什么define($p,3.14);必须要有这句才能通过?

提问者:慕少2053672 2018-08-01 22:20

个回答

  • 天涯大笨蛋
    2019-04-13 22:57:58

    $p 是变量, $p='pii',就是说 把字符串pii赋值给$p. 而定义常量的define(1,2)中必要的两个参数, 1的数据类型是string. 2的类型任意.  当define($p,3.14)时,由于$p是变量 而不是string类型.这是 就把3.14放在了$p中储存的string类型的pii中.  而不是储存在$p中. 而$p 一直指向字符串pii.

  • Nikolor
    2019-04-02 14:33:01

    但是我想问为什么echo $p输出的是PII,而不是3.14。

  • 畅爷
    2019-03-26 18:59:20

    "变量是指在程序执行过程中数值可以变化的量。

    变量通过一个名字(变量名)来标识。

    系统为程序中的每一个变量分配一个储存单元,变量名实质上就是计算机内存单元的命名。

    因此,借助变量名即可访问内存中的数据。"

    $p = "PII";具体的数据值"PII"直接赋值给了变量p,所以,变量p在内存中的数据就是"PII"。

    define($p,3.14);

    就相当于define("PII",3.14);

    所以最后"echo PII;"就和前面的"echo PI;"一样,输出常量名为"PII"的值。


    这是我的理解,希望可以帮到你。

  • 蓝典
    2018-12-20 17:19:07

    $p = "PII"  ;   这条不能理解为变量p 的值是一个字符串“PII”???

    那以后$ 变量 ,赋值怎么区分??

  • 宝慕林3190390
    2018-08-25 22:08:53

    是赋值语句,将常量名PLL赋值给变量P,之后$p中储存的是常量名

  • 慕沐gakki
    2018-08-25 12:34:59

    是赋值语句,$p是变量,把PII赋值给$p变为常量,因为define()是用来定义常量的

  • qq_真诚_7
    2018-08-21 15:19:53

    $p = "PII";不是赋值语句吗? 

    是的,就是把$P,赋值给常量 “PII”

    但是$P,常量与“PI”常量并不是一个内存地址,虽然他们的数值都是一样的3.14,但他们是两个常量

  • 精慕门7164575
    2018-08-01 23:59:53

    是赋值语句先把PII的值赋给了$p,$p = "PII"把$p和$PII 指向同一个内存的存储值,define是对常量的定义,又把$p定义成了一个常量,对$p定义了3.14,输出$PII其实就是输出了$p的值