我正在尝试比较这样的两个对象:
if($obj1==$obj2){
...
但是我的比较总是返回false!
$ obj1是我的功能的参数(通过Web服务)类型为" MySoapObject"。
$ obj2是从我的数据库中加载的类型" MySoapobject"的对象。
在我的两个对象的测试print_r中,给了我这一点:
stdClass Object
(
[establishment] => stdClass Object
(
[f_establishment_id] => 4
[f_name] => MyEstablishment
[f_display_name] => v
[f_main_web_link] =>
[f_contact] =>
[f_country_code] =>
[f_city] =>
[f_zip_code] =>
[f_postal_address] =>
[f_default_language] =>
[f_timezone] =>
[f_cloud_synchronisation_action] => TO_SYNC
)
[site_list] => Array
(
[0] => stdClass Object
(
[f_site_id] => Site1
[f_status] => TO_DISABLE
[f_name] => Site1
)
)
)
顺便说一句,如果我尝试了:
if(print_r($obj1)==print_r($obj2)){
...
结果为真!
您对可能出现的问题有一个想法吗?如何解决?感谢您的帮助。
用于对象比较您可以使用:
if($obj1===$obj2){
}
检查文档http://php.net/manual/en/language.operators.comparison.php