PHPの仕様なのかバグなのか不明
サンプルコード
通らないコード
function hoge( $foo, $bar ){ var_dump($foo, $bar ); }
通るコード
function hoge( $foo, $bar ){ var_dump($foo, $bar ); }
PHPは通常、全角スペースがあるとパースエラーで落ちるが
残念ながら、関数の引数の宣言のあたりに全角スペースが入ると、変数名の一部として扱うようだ。
get_defined_varsを実行した結果。bar という変数名が得られた。
挙動としては、引数が消失したように見える。30分くらいはまってしまった。
全角スペースを表示する設定にいつもはしてるけど、Eclipseは全角以外も出ちゃうから、設定してなかった。
あぁ無駄な時間だった。バージョンは5.2.5