2015-06-11 121 views
-4

我想從數組中刪除公共元素。例如:從多維數組中刪除常見值perl

array1 = 
[ 
{'id'=>78597,'data'=>'great'} 
]; 

array2= 
[ 
{'id'=>78345,'data'=>'first'},{'id'=>78597,'data'=>'great'}, 
{'id'=>78355,'data'=>'second'} 
] 

查閱密鑰ID '78597'兩個陣列
現在我想刪除基於所述密鑰'id'從數組2該元件中是常見的。我提到的例子都是單一維度。

+4

你問10個問題,並有** **從來沒有接受任何的答案。你的問題沒有得到正確答案嗎? 對於這一個_你到目前爲止嘗試過什麼嗎?_ – serenesat

+0

不,它不是我沒有接受答案。即使昨天我問,並得到答案和checked.For這一個我試圖這樣。 – user762641

+0

@names = grep {my $ name = $$ _ [0];不是grep $ _eq $ name,@employees} @names;但如何訪問我不知道的coloumn領域。 – user762641

回答

4

你可以建立%seen哈希查找和篩選@$array2

my %seen; 
@seen{ map $_->{id}, @$array1 } =(); 

@$array2 = grep { !exists $seen{$_->{id}} } @$array2; 
+0

抱歉,我沒有得到準確的結果。 – user762641

+0

@ user762641 https://eval.in/379687 –