PHP:对象比较(其中之一是通过WebService发送)



我正在尝试比较这样的两个对象:

    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

最新更新