PHPの変数がヤバい!
PHPの変数名がヤバい!
昔、「レガシーでなんか作ってみてよ」と言われて
<?php $arr = array( 'hello' => 'world!!' ); foreach ($arr as $key => $val) $$key = $val;
こんな感じのコードを書いて配列の添字を変数名にしたりとかをしていて
「配列のキーにはスペースが入るけど、変数名にした時に怒られるからこのコード使えないよ
というかextract関数使えよ」
と言われた事があり
言われてみたらそうだなぁと以降、二度とこんなコードを書く事はなくなったんですが
鵜呑みにして検証してなくて3年越しぐらいになるけど。。。
PHPの変数名にスペース使えるじゃん
ご覧頂こう
<?php ${'Hello World!!'} = 'Good bye World!!'; echo ${'Hello World!!'};
これを実行すると「Good bye World!!」と表示される。
使いどころはわからないけど。。。
ちなみに先頭数字の変数名も
<?php ${1} = 'Hello World!!'; echo ${1};
これでいけてしまったりします。
ただし、$1とかって変数名を指定すると怒られます。