プロパティ調査

概要

property_exists

get_class_vars

get_object_vars


サンプル(property_exists)プロパティの有無をチェック

<?php
// 親クラスなし
class TestClass01{
	public    $aaa;
	private   $bbb;
	protected $ccc;
}
?>
<?php
	// TestClass01のオブジェクト生成
	$obj1 = new TestClass01();
 
	// プロパティチェック
	$res1 = property_exists($obj1, "aaa");
	$res2 = property_exists($obj1, "bbb");
	$res3 = property_exists($obj1, "ccc");
	$res4 = property_exists($obj1, "ddd");
 
	// プロパティ有無確認
	var_dump($res1);
	var_dump($res2);
	var_dump($res3);
	var_dump($res4);  // 存在しないのでfalse
?>
 
 
 

サンプル(get_class_vars)public定義されているプロパティを取得

<?php
// 親クラスなし
class TestClass01{
	public    $aaa;
	public    $aaa02;
	private   $bbb;
	private   $bbb02;
	protected $ccc;
	protected $ccc02;
 
	function __construct(){
		$this->zzz = "aaa";	// コンストラクタ時に定義するため、検知できない
	}
 
}
?>
<?php
	// TestClass01のオブジェクト生成
	$obj1 = new TestClass01();
 
	// TestClass01クラスのデフォルトプロパティを取得
	$list = get_class_vars("TestClass01");
 
	// プロパティ有無確認
	var_dump($list);
?>
 
 
 

サンプル(get_object_vars)値が参照できるプロパティを取得する

<?php
// 親クラスなし
class TestClass01{
	public    $aaa;
	public    $aaa02;
	private   $bbb;
	private   $bbb02;
	protected $ccc;
	protected $ccc02;
 
	function __construct(){
		$this->zzz = "aaa";	// コンストラクタ時に定義するため、検知できない
		$this->bbb = "111";
		$this->ccc = "222";
	}
 
}
?>
<?php
	// TestClass01のオブジェクト生成
	$obj1 = new TestClass01();
 
	// インスタンスを生成したオブジェクトのプロパティを取得
	$list = get_object_vars($obj1);
 
	// プロパティ有無確認
	var_dump($list);
?>
 
 


最終更新:2012年08月17日 22:28