9
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PHP】stdClassについて

Posted at

stdClassとは

stdClass = プロパティやメソッドを一切持たない標準クラス

特徴

  • 普通のクラスのようにnewを用いて使用
$obj = new stdClass();
$obj->hoge = 'hoge';
  • 配列で結果を返す代わりにstdClassを返す
// 配列の場合
$dog= [];
$dog['name'] = 'pochi';
echo $dog['name'];

// stdClassの場合
$dog= new stdClass();
$dog->name= 'pochi';
echo $dog->name;

// 定義していないプロパティにアクセスするとエラーに
$cat = stdClass();
echo $cat->name; // PHP Notice:  Undefined property: stdClass::$fuga

配列ではなくオブジェクト形式でデータを保存したいときに使用。オブジェクトにすることで、$obj->hoge のような形で記述可能に

  • 他の型からオブジェクト型にキャストを行うとstdClassのインスタンスになる

オブジェクト以外の型の値がオブジェクトに変換される時には、stdClass というビルトインクラス(予めPHPの内部で定義されているクラス)のインスタンスが新しく生成されます。
引用:オブジェクト

参考

9
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?