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

$p明明是变量,也可以调用constant()方法吗

<?php 

$p="";

//定义圆周率的两种取值

define("PI1",3.14);

define("PI2",3.142);

//定义值的精度

$height = "中";

//根据精度返回常量名,将常量变成了一个可变的常量

if($height == "中"){

    $p = "PI1";

}else if($height == "低"){

$p = "PI2";

}

$r=1;

$area = constant($p)*$r*$r;

echo $area;

?>


正在回答

4 回答

你可能理解错了,constant是函数,还有,不是被$p调用,

而是$p做为constant函数的参数,然后constant($p)执行了函数,所以

$area = constant($p)*$r*$r;  ===>  $area = PI1*$r*$r;

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

个人的理解是 这里的$p是字符串类型 保存的是常量的名称,并不是常量的值,然后通过constant函数根据$p里保存的名称,找到相对应的常量,同时返回常量值.望采纳.

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

现在是常量值

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

但是被赋予了常量值。。不是说赋值会改变类型吗

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

王不留形 提问者

但是我试了一下,$p还可以再次赋值...
2016-01-29 回复 有任何疑惑可以回复我~
#2

NaiveC 回复 王不留形 提问者

赋值是会改变类型,但是常量不是种类型呀,int float 字符串等等的才是类型,常量相当于是一种修饰,是一种在后续代码中不能重新赋值的变量,即常量是不可变的变量.
2016-02-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP入门篇
  • 参与学习       455994    人
  • 解答问题       6306    个

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

进入课程

$p明明是变量,也可以调用constant()方法吗

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