変数名を文字列で使用したい人ってだいぶ特殊な事していますよね。
私も今まで様々な事してきて約10年…
初めてやりたいと思ったのでやってみました。
正式名称は可変変数
検索する時は大体正式名称なんてわからないので「変数名 文字列」なんかで検索しますよね。
たぶんそれで辿り着いた人はいると思いますが…
PHPによると正式名称は「可変変数」と言います。
しっかりマニュアルにも書かれているし、普段の開発では使わないので知らない人も多いですよね。
変数名を文字列で指定する
可変変数の設定方法はいくつか方法があります。
まずは、一番やりたかった文字列を変数名にする方法です。
// 通常の場合 $a = 'hello'; echo $a; // hello // 可変変数の設定 ${'hello'} = 'world'; echo $hello; // world
「${‘文字列’}」とすることで、変数名として今後使い続ける事ができます。
変数の値も使いたいし、変数名も使いたい
これは特殊な方法だと思っています。
でも、PHPマニュアルでは最初に紹介されるほど…
このやり方はちょっと複雑になりそうです。
// 変数に値をセット $a = 'hello'; // 可変変数としてセット $$a = 'world'; // 出力方法1 echo $a.${$a}; // helloworld // 出力方法2 echo $a.$hello; //helloworld
echoしている部分は、可変変数として出力するか、普通の変数として出力するかになります。
$を2つ連続して書くことにより、変数の値を変数名として使用できるということですね。