時々ある?定数名を変数として扱いたいこと
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使うと定数の値を取ってこれるようになります。
一応覚えておくと、何かの役には立ちそうですね!