我有两个对象,在Yii框架中我们可以这样做:
$objectOne = Anything::model(); //and this is one object;
$objectTwo = Anything::model()->findByPk("1"); //and this is another object of the same class;
所以现在如果我比较这两个它将返回0,false,但我想要比较的只是对象的实例,类本身,而不是属性和值......我知道在Zend Framework中我们可以通过设置函数的参数来做类似的事情:
public function anything ( Anything_Entity $something ){}
通过这种方式可以很好地工作,但我找不到任何方法来比较具有要忽略的属性的对象。
答案 0 :(得分:3)
与CORRUPT评论一样,您可以使用instanceof
。另外,您还可以使用get_class
// using instanceof
if ($obj1 instanceof SomeClass and $obj2 instanceof SomeClass) {
// Do something
}
// using get_class
if (get_class($obj1) === get_class($obj2)) {
// Do something
}
答案 1 :(得分:2)
除了答案之外,还有一些值得一提的事情。
除了提到CORRUPT之外,你可以使用
if ($obj instanceof ClassName)
查看某个对象是否属于特定类
答案 2 :(得分:2)
与@CORRUPT在评论中提到的一样,实现此目的的最佳方法是使用instanceof
。例如:
if ($objectOne instanceof Anything) {
// do something
}