プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、定数を動的に指定
作り方としてはあまり良くないのかもしれませんが
定数を動的に指定して使いたいシーンがありましてね。
if文で切り分けるのもかっちょ悪いし
何か良い方法ないかなーと思ったのですよ。

確か動的に変数名を指定するのはできたはずだけど
流石に定数は無理かなーと思いながら駄目元で調べてみると
てきたーヾ(≧▽≦)ノ
流石はゆるい言語代表PHP!素敵です(人´∀`)

と言う訳で前置きが長くなりましたが「constant()」を使えば
良いみたいです。
こんな感じでφ(--)

  <?php 
      define("TEST1", "あ");
      define("TEST2", "い");
      define("TEST3", "う");

      $a = 1;
      print constant("TEST" . $a);
      $a = 2;
      print constant("TEST" . $a);
      $a = 3;
      print constant("TEST" . $a);
  ?>

実行結果は「あいう」になります。

余談ですが変数の場合は波括弧(中括弧{})で囲めばOK。

  <?php 
      $test1 = "あ";
      $test2 = "い";
      $test3 = "う";

      $a = 1;
      print ${'test' . $a};
      $a = 2;
      print ${'test' . $a};
      $a = 3;
      print ${'test' . $a};
  ?>

ってな感じです(--)b
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事