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