2013-05-16 193 views
1

我需要从阵列$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? 
+1

看起来像$ objects和$ tempObjects是对象(或组成数据集合的对象)而不是数组 –

+1

什么是MyObjects? –

+0

'array_diff'或'array_diff_assoc'是为数组做的常用方法,但正如标记baker所说的,你有对象,所以这些函数可能不起作用。尝试将您的对象转换为数组。 – sgroves

回答

2

如果$tempobjects$objects是阵列(比如你的标题提到),这基于你的代码示例他们,你可以使用函数array_diff()(比较值)排除元素或array_diff_key()(用于比较密钥)。

另外,参见short demo

相关问题