端くれプログラマの備忘録 PHP [PHP] stdClassって何だ?

[PHP] stdClassって何だ?

PHPのマニュアルにも細かい説明は無いんだけど。

標準で定義されているクラス
以下のクラスは、PHP ビルドに含まれる標準関数セットで定義されています。

stdClass
オブジェクトへの型変換で作られる。

PHP: 定義済のクラス – Manual
http://php.net/manual/ja/reserved.classes.php

クラス定義無しに、いきなり代入することで任意のメンバー変数が定義できるらしい。でも、C++/C#に馴染んだ自分にはかなり不思議に見える。

$var = new stdClass();
$var->val1 = 123;
echo "val1 = {$var->val1}n";
echo "val2 = {$var->val2}n"; // Notice: Undefined property: stdClass::$val2

スコープを限った一時的な作業用に限定して使うといいかもしれない。