定数を定義した
class ClassName { const PARAM_1 = 'a'; const PARAM_2 = 'b'; }
でも、こんなふうに数値だけ差がある定数。
for ($i = 1; $i <= 2; $i++) { $array[] = ClassName::PARAM_.$i; }
みたいに定数を動的に取得をしたい。でも、この書き方は動かない。
どうするか。
constant関数を使う
定数を取得する関数constantを使う。
引数は文字列なので、文字列結合した結果を渡してやると良い。
for ($i = 1; $i <= 2; $i++) { $array[] = constant('ClassName::PARAM_' . $i); }
こんな感じ。