オブジェクト


プロパティを消す(unset)

unset()をコールしてあげれば消えます。

    $obj = new stdClass();
    $obj->a = 1;
    var_dump($obj);    // => object(stdClass)#1 (1) {  ["a"]=>  int(1)}
    unset($obj->a);
    var_dump($obj);    // => object(stdClass)#1 (0) {}
    

配列に変換する(array)

arrayでキャストすれば変換されます。ただし一階層のみ変換されます。それ以降の回想はそのままとなります。

$obj = new stdClass();
$obj2 = new stdClass();
$obj2->arg22 = 123;

$obj->arg1 = 'orange';
$obj->arg2 = $obj2;    // objectのプロパティにobject

$ary = (array)$obj;    // キャスト!

var_dump($ary);

=>
array(2) {
  ["arg1"]=>
  string(6) "orange"
  ["arg2"]=>
  object(stdClass)#1 (1) {
    ["arg22"]=>
    int(123)
  }
}