PHPマニュアルからこれを読みました:
オブジェクトが配列に変換される場合、結果は要素がオブジェクトのプロパティである配列になります。キーはメンバー変数名ですが、いくつかの注目すべき例外があります。整数プロパティにはアクセスできません。プライベート変数には、変数名の前にクラス名が追加されています。保護された変数には、変数名の先頭に「*」が付加されます。これらの先頭に追加された値には、両側に null バイトがあります。 これにより、予期しない動作が発生する可能性があります。
class A { private $A; // This will become '\0A\0A' } class B extends A { private $A; // This will become '\0B\0A' public $AA; // This will become 'AA' } var_dump((array) new B());
上記には「AA」という名前の 2 つのキーがあるように見えますが、そのうちの 1 つ は実際には「\0A\0A」という名前です。
このような書体の部分の意味がよくわかりません。
整数プロパティとは
「これらの先頭に追加された値の両側に null バイトがあります。これにより、予期しない動作が発生する可能性があります」の意味は何ですか?
そして、「?上には、'AA' という名前の 2 つのキーがあるように見えますが、そのうちの 1 つは実際には '\0A\0A' という名前です」