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

来源:4-4 PHP-常量如何取值

王不留形

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;

?>


写回答 关注

4回答

  • 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

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

    NaiveC 回复王不留形

    赋值是会改变类型,但是常量不是种类型呀,int float 字符串等等的才是类型,常量相当于是一种修饰,是一种在后续代码中不能重新赋值的变量,即常量是不可变的变量.

    2016-02-03 14:29:51

    共 2 条回复 >

PHP入门篇

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

455994 学习 · 6306 问题

查看课程

相似问题