可用比较序列化 serialize 后的值来判断

解决方案 »

  1.   

    直接用==比较,只要对象是实例化自同一个类,且有同样的属性,并且属性值都一致,就会返回TRUE。
    另外还可以用===比较,这个方式必须是同一个类的同一个实例才会返回TRUE。
      

  2.   


    实际开发中可能只要某几个属性的值相等即可认为两个对象相同。如果在这种情况下默认的==和===就不能满足要求。
    想请问下对于这种情况有没有什么好的解决方案,或者自定义一个包含equals()方法的接口让所有类实现?
      

  3.   

    是的,这种情况是需要定义接口了。 PHP不支持操作符重载。 
      

  4.   

    你好象记错了equals是相似.不是相等.用serialize判断就可以
    ==才是判断相等,是否指向同一内存。有差别的
      

  5.   

    自已定义一个函数啊function equal($obj1,$obj2,$pro_map = array())

        foreach($pro_map as pro)
        {
            if($obj1.$pro != $obj2.$pro)
                  return false;     }
        return true;
    }