stdClass
stdが何の意味かはわからないが単純なプロパティだけを持つオブジェクトのクラス
http://php.net/manual/ja/reserved.classes.php
Zend Engineのコアで定義されてる数少いクラスのうちのひとつだって意味では、そう。
standard? ふーん
Google検索すると「stdClassは全てのクラスの基本」と書かれた古い記事が見付かるけれど、別にそんなことはない
配列を(object)でキャストするとstdClassになる
オブジェクトを(object)でキャストしても変化しない
任意のオブジェクトをどうしてもstdClassにキャストしたければ(object)(array)$objする
ふつうはそんなことやらない
JSONをjson_decode()でデコードすると出てくることでも有名
TwitterOAuthってライブラリもAPIから取得したJSONをデコードした結果をstdClassで返してくるので非常に辛い
PHPのIDになれないものが内容に含まれると取り出すのがめんどくさい
stdClassにはどんなプロパティが存在するのかわかりにくい
その点では連想配列と同じ
stdClassに限らず未定義プロパティを許してるクラスは全部そう
連想配列と変らないが、一見してちゃんとしたクラスと区別がつかないことがあるのでたちがわるい
配列を操作対象にする便利関数(配列関数)も利用できないし…
配列と異なりarray shapes記法相当の型付け方法がない