PHP MongoIDs对象比较-最佳实践

时间:2018-09-10 20:56:59

标签: php mongodb comparison

有人可以解释一下,为什么两个PHP中的MongoDB \ BSON \ ObjectId的严格比较(===)返回FALSE,尽管两个ID都具有相同的oid类型,但MongoDB \ BSON \ ObjectId类型?

下一个问题是有关处理此案的最佳实践。通过非严格比较(==)进行操作是否安全?是否有另一种方式进行操作(例如(string)$id1 === (string)$id2

1 个答案:

答案 0 :(得分:2)

来自the relevant PHP documentation

  

使用身份运算符(===)时,对象变量只有在它们引用同一类的相同实例时才是相同的。

因此,您应该只使用标准比较运算符(==)。不需要字符串转换。

@jh1711

  

BSON \ ObjectId ...实现一个自定义的object_compare处理程序。但是处理程序只是比较ID