如何在类函数中声明const

时间:2014-07-31 13:28:33

标签: php const

我是php的新手 我有一个奇怪的场景,我无法在函数中声明以下内容:

const CONST_Example = 1/192;

我也尝试过:

const CONST_Example  = 1;    

也不要工作。 我希望能够保存常量浮点数,这是算术表达式的结果,如1/190等。

2 个答案:

答案 0 :(得分:1)

确实不可能在PHP中将该值创建为类常量。你不能这样声明:

class Foo {

    const CONST_Example = 1/192;

}

因为PHP在解析类声明时无法评估表达式 在运行时事后,您也不能将常量添加到类中。

您的选择是:

  1. 将其声明为常规运行时定义的常量:

    define('CONST_Example', 1/192);
    
  2. 使用下一个最佳浮点表示作为文字:

    class Foo {
    
        const CONST_Example = 0.005208333333333333;
    
    }
    

答案 1 :(得分:0)

第一个没有工作,但第二个应该。以下是如何让您的班级使用常量

的示例
<?php
class Foo {
    const CONST_EXAMPLE = 1;
}

第一个因为以下原因而无法工作:

&#34;值必须是常量表达式,而不是(例如)变量,属性,数学运算的结果或函数调用。&#34; < / p>

来源:http://php.net/manual/en/language.oop5.constants.php