まず、0x0とは単に16進法表記の0のことで、可変変数シンタックスでは文字列"0"として機能します。
lang
1var_dump(0x0===0); // prints "bool(true)"
2
3${0x0} = 'りんご';
4echo ${0x0}; // 表示 "りんご"
5echo ${'0'}; // 表示 "りんご"
6var_dump(get_defined_vars()); // contains ["0"] => string(4) "りんご"
PHPは文字列である限り変数名がそこまで重視されていないように思えます。
lang
1${'123 abc xyz '} = 'りんご';
2echo ${'123 abc xyz '}; // 表示 りんご
3var_dump(get_defined_vars()); // 表示 "りんご"
私としては、上記の名前制限は言語中心というよりむしろソースコードパーサによるものだと思います。
一般的にPHP変数は二つの要素で構成されています。記号テーブルの一部となるラベルと、実際の変数コンテナです。
つまり、ラベルにとって有効な文字列であればそれでよいのです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。