王不留形
2016-01-29 11:05
<?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;
?>
你可能理解错了,constant是函数,还有,不是被$p调用,
而是$p做为constant函数的参数,然后constant($p)执行了函数,所以
$area = constant($p)*$r*$r; ===> $area = PI1*$r*$r;
个人的理解是 这里的$p是字符串类型 保存的是常量的名称,并不是常量的值,然后通过constant函数根据$p里保存的名称,找到相对应的常量,同时返回常量值.望采纳.
现在是常量值
但是被赋予了常量值。。不是说赋值会改变类型吗
PHP入门篇
455994 学习 · 6306 问题
相似问题