【发布时间】:2013-05-16 16:03:16
【问题描述】:
我需要从数组$objects 中排除数组$tempobjects 的元素。最快的方法是什么?
$objects = new MyObjects();
$tempobjects = new MyObjects();
for($i=0; $i<10; $i++) {
$objects->addObject(new MyObject(...));
}
//...fill $tempobjects with some temporary data
$tempobjects = $objects - $tempobjects; // HOW TO DO SOMETHING LIKE THIS?
【问题讨论】:
-
看起来 $objects 和 $tempObjects 是对象(或包含数据集合的对象)而不是数组
-
array_diff或array_diff_assoc是对数组执行此操作的常用方法,但正如马克贝克所说,你有对象,所以这些函数可能不起作用。尝试将您的对象转换为数组。 -
@sgroves 你知道如果有问题的两个对象都实现了 ArrayAccess 接口,它是否会起作用?
-
@Anigel,在这种情况下不是数组...也许他需要在为他执行此操作的类上添加一个方法。