PHPのdefineのキーに変数を使用する方法

時々ある?定数名を変数として扱いたいこと

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使うと定数の値を取ってこれるようになります。

最後に

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

コメントを残す