постоянные значения — & gt; итерация для проверки значения — & gt; тзд

Как я могу создать класс с константами и несколькими значениями, а затем перебрать все из них, чтобы проверить, содержит ли определенное значение ‘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

Решение

Вот как:

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

Имея ассоциативный массив, вы можете делать любую проверку, какую захотите 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector