Как я могу создать класс с константами и несколькими значениями, а затем перебрать все из них, чтобы проверить, содержит ли определенное значение ‘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) {
}
Вот как:
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
Имея ассоциативный массив, вы можете делать любую проверку, какую захотите 🙂
Других решений пока нет …