stdClass
概要
PHPにて用意された定義済みのオブジェクト
サンプル(stdClass作成)
<?php
// オブジェクト生成
$obj = new stdClass();
// 動的に変数を設定
$obj->aaa = "aaaaaaaa";
$obj->bbb = "vvv";
// 多重階層としてオブジェクトにしたい場合
$obj->ccc = new stdClass();
$obj->ccc->ccc1 = "aaa1";
$obj->ccc->ccc2 = "aaa2";
// 出力
var_dump($obj);
// echoによる出力
echo $obj->aaa;
echo $obj->bbb;
echo $obj->ccc->ccc1;
echo $obj->ccc->ccc2;
?>
サンプル(stdClassをarray型に変換する場合はキャストする)
<?php
// オブジェクト生成
$obj = new stdClass();
// 動的に変数を設定
$obj->aaa = "aaaaaaaa";
$obj->bbb = "vvv";
// 多重階層としてオブジェクトにしたい場合
$obj->ccc = new stdClass();
$obj->ccc->ccc1 = "aaa1";
$obj->ccc->ccc2 = "aaa2";
$obj->ddd = new stdClass();
$obj->ddd->ddd1 = new stdClass();
$obj->ddd->ddd1->dddd1 = "aaaa";
$obj->ddd->ddd1->dddd2 = "aaaa";
$obj->ddd->ddd1->dddd3 = "aaaa";
$obj->ddd->ddd2 = "ssss";
$obj->eee = "vvv";
$obj->fff = "vvv";
// オブジェクトをArray型に変換して返却
$a = parseStdClassToArray($obj);
var_dump($a);
// 関数定義
function parseStdClassToArray($_paramObj){
$result = $_paramObj;
// オブジェクトチェック
$_type = gettype($_paramObj);
if($_type == "object"){
// クラスチェック
$_class = get_class($_paramObj);
if($_class == "stdClass"){
// 配列に変換
$result = (array)$_paramObj;
foreach($result as $key => &$value){
$result[$key] = parseStdClassToArray($value);
}
}
}
// 返却
return $result;
}
?>
最終更新:2012年08月17日 20:55