PHP言語に酷いバグがあるようです。変数変数を作成するときは、一見不正な変数を宣言して、変数変数としてアクセスし続ける限り処理することができます。 例:PHPの可変変数は不正な変数名を許可しますか?
${'0'} = 1; //I am an illegal variable called $0
${'0'}++; //I can be accessed and manipulated.
var_dump(${'0'}); //Output: int(2)
この動作はかなり奇妙に見えます。ハイフンを含む変数名を作成する方法として、公式のSimpleXmlのドキュメントで簡単に言及されていますが、私の例ではそれにもかかわらず悪用される可能性があります。
私はこの動作がどのように可能で、コードが解析されたときに許容されるのか知りたいですか?
私の仮定は、それが中括弧に包まれていますので、混同しパーサーのないチャンス、許容フォアありませんです。 – Scuzzy
もし変数変数が許されない変数名を許さないならば、それは不適切な時(すなわち実行時)に壊れる傾向があります。これは、変数変数を使って行うことができるような遠隔操作ではありませんあなたはそれにあなたの心を入れます。 –
phpは変数が$ 0だと思っています – Gert