-2
除了做下面的代碼之外,有沒有更好的方法來檢查對象是否有幾個給定的屬性?檢查對象是否具有屬性
<?php
class myClass
{
public $a=1;
public $b=2;
public $c=3;
public function checkProperties($obj,$props)
{
$status=true;
foreach($props as $prop) {
if(!isset($obj->$prop)){$status=false;break;}
}
return $status;
}
}
$myObj=new myClass();
print_r($myObj);
echo($myObj->checkProperties($myObj,array('a','b','c'))?'true':'false');
echo($myObj->checkProperties($myObj,array('a','d','c'))?'true':'false');
?>
請使用getter和setter - 比'public $ a = 1'更好的模式。 –
更好的方法,或許就像(例如)使用魔法[__isset()方法](http://php.net/manual/ EN/language.oop5.overloading.php#object.isset)? –
你可以使用這個'property_exists($ class,$ property)'來檢查一個屬性是否存在於一個類中。它需要PHP> = 5.3。 – rashidkhan