2013-05-16 191 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

相關問題