我有物件。一个是针,它是具有多个属性的简单对象,另一个是干草堆,它是一组对象。
这是针
DeviceType Object
(
[idDeviceType] => 167
[Name] => monirul
[TargetURL] => www.google.com
[idAccessPlan] => 1
)
这是干草堆,
Array
(
[0] => DeviceType Object
(
[idDeviceType] => 167
[Name] => monirul
[TargetURL] => www.google.com
[idAccessPlan] => 1
)
[1] => DeviceType Object
(
[idDeviceType] => 168
[Name] => monirul iPad
[TargetURL] => www.yahoo.com
[idAccessPlan] => 1
)
[2] => DeviceType Object
(
[idDeviceType] => 169
[Name] => monirul phone
[TargetURL] => www.bing.com
[idAccessPlan] => 1
)
)
现在我想检查我的针是否存在于大海捞针中。不仅是由任何特定属性,还有整个对象属性(idDeviceType,Name,TargetURL,idAccessPlan)。我该如何有效地实现这一目标?提前致谢。
答案 0 :(得分:1)
使用serialize
有很多变化。如果你只是想知道针是否在大海捞针,那么这很简单:
$result = strpos(serialize($haystack), serialize($needle)) !== false;
var_dump($result); //gives true or false
答案 1 :(得分:1)
使用in_array()。
if (in_array($object, $array_of_objects)) { /* do stuff */ }
如果要检查数组中是否存在对象的相同实例,请添加“true”:
if (in_array($object, $array_of_objects, true)) { /* do stuff */ }