時々ある?定数名を変数として扱いたいこと
defineのキーを変数として取得したい場合があったんだけど、そのまま入れたのでは取れなかったので、どうすればいいのかなぁと思ってたらconstantという関数がありました。
以下みたいなことがしたかったので紹介しておきます。
define("TEXT_MAX", 100);
$a = "text";
$val = strtoupper($a)."_MAX";
print $val; // "TEXT_MAX"
$val = constant(strtoupper($a)."_MAX");
print $val // "100"
上記のとおり、普通に文字列繋げてTEXT_MAXとかいう値作っただけだと定数が取ってこれないのですが、それをconstant使うと定数の値を取ってこれるようになります。









一応覚えておくと、何かの役には立ちそうですね!