Php:对象比较(其中一个通过webservice发送)

时间:2017-12-15 17:30:20

标签: php web-services object soap comparison

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

    if($obj1==$obj2){
    ...

但我的比较总是返回假!

$ 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)){
    ...

结果是真的!

您知道问题出在哪里吗?怎么解决? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

可以使用对象比较:

 if($obj1===$obj2){
 }

检查文档 http://php.net/manual/en/language.operators.comparison.php