问答详情
源自:4-4 PHP-常量如何取值

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

?>


提问者:王不留形 2016-01-29 11:05

个回答

  • LIANHK
    2016-02-26 17:14:18

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

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

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

  • NaiveC
    2016-02-03 14:25:50

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

  • hyfhjfc
    2016-01-29 12:22:12

    现在是常量值

  • 时刻计划
    2016-01-29 11:57:10

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