为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

8 回答

$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.

3 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

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

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

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

define($p,3.14);

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

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


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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~
#1

慕尼黑123390

这个是对的 上面的几个有的说的不对,有的说的的对但 答非所问
2018-10-18 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

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

0 回复 有任何疑惑可以回复我~
#1

leishao

不是把$P,赋值给常量 “PII”,反了,是把PII,赋值给$p
2018-10-19 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信