業務でとあるシステムの改修作業をしていたら$$がついた関数を見つけて頭の中が?になったので自分の中で整理してみる。
$$は可変変数と言うらしい
恥ずかしながら今まで実務で可変変数を定義しているコードを見たことがなかったのでシステムを作った人が打ち間違えたのかと思っていました(ほんとに恥ずかしい)
可変変数ってなに?
変数の名前を他の値で作ることができる
簡単な使い方
まず変数を一つ用意
$hoge = "qiita"
次に$hogeの値を使って新しい変数名を作る
(これが可変変数)
$$hoge = "PHP"
既にhogeという変数には"qiita"という値が入っています。
つまり
$$hoge = $qiita
と言うことになります。
$qiitaという変数が作られ、その中に"PHP"という値が格納されていることになります。
出力
echo $qiita; // 出力: PHP
メリットとデメリットは
コードが簡潔になる
似たような変数を定義しなくてよいのでコードを書く量が減らせます。
デメリット
コードが読みにくくなる
定義されているコードが明確になっていないため解析に時間がかかるみたいです
デバックが難しい
上記と関連してますが、変数の場所を探すのに時間がかかり、それによりデバックも難しくなるみたいです
まだ私は可変変数に慣れていないので使いどころに迷いそうなので、徐々に慣らすところから始めたいです。