I would like to be able to do something like this:
class ThingIDs { const Something = 1; const AnotherThing = 2; } $thing = 'Something'; $id = ThingIDs::$thing;
This doesn’t work. Is there a straightforward way of doing something equivalent? Note that I’m stuck with the class; it’s in a library I can’t rewrite. I’m writing code that takes arguments on the command line, and I would really like it to take symbolic names instead of id numbers.
Advertisement
Answer
Use the constant() function:
$id = constant("ThingIDs::$thing");