常数值 - >迭代以检查值 - >味精

时间:2018-03-28 17:38:14

标签: php foreach constants

我如何创建一个包含常量和多个值的类,然后遍历所有这些值以检查是否包含“ 300 ”的特定值,如果是这样的话带有const名称的消息,即。 ' EYE '是成功的。

具有多个值的多个常量:

class Specs
{
    const EYE = '300';
    const FRED = '9';
    const TOO_DEMO = 'hfkskakaka';
    const MID_DEMO = 'Lorem Ipsum';
    const VERY_DEMO = 'Blah Blah';
    const DEMO_ZERO = '5';
    const DEMO_INCR = '10';
} 

尝试遍历所有内容以检查其中是否存在300,如果是,请拉出名称并在消息提示中使用。

foreach ($Specs == 300) {

}

1 个答案:

答案 0 :(得分:1)

这是:

class Specs
    {
        const EYE = '300';
        const FRED = '9';
        const TOO_DEMO = 'hfkskakaka';
        const MID_DEMO = 'Lorem Ipsum';
        const VERY_DEMO = 'Blah Blah';
        const DEMO_ZERO = '5';
        const DEMO_INCR = '10';

        static function getConstants() {
            $oClass = new ReflectionClass(__CLASS__);
            return $oClass->getConstants();
        }

    } 

    $consts = Specs::getConstants();

    foreach ($consts as $constname => $constvalue) {
        if($constvalue=="300") {
              echo $constname;
        }
        // echo $constname." : ".$constvalue."\n";
    }

该示例基本上取自PHP文档:http://php.net/manual/de/reflectionclass.getconstants.php

拥有一个关联数组,你可以做你想要的每一项检查: - )