2011-04-07 18 views
28

Dizi 2'de bulunmayan tüm dizi 1 üyelerini almak için yerleşik bir işlev var mı?
Programlamayı nasıl yapacağını biliyorum, ancak bunu yapan yerleşik bir işlev olup olmadığını merak ediyorum. Yani lütfen kod örneği yok.array_intersect'in karşısında mı?

+5

Benzer davranışı olan işlevler arıyorsanız, büyük olasılıkla, http://www.http://www.google.com/index.php?hl=tr adresinde bulabileceğiniz gibi, bu işlevin el kitabında da 'Ayrıca bkz.' Bölümünün altında bulacaksınız. .php.net/manual/tr/function.array-intersect.php –

cevap

46

Bu, array_diff için bir işe benziyor.

diğer dizilerin herhangi mevcut olmayan tüm dizi1 girişleri ihtiva eden bir dizi döner.

28

array_diff kesinlikle ilk tercih edilen yerdir ama teknik olarak dizi interesect tersi değil. Ne istiyorum 'tavşan' ve içinde 'kuş' ama ne olsun bir sonucudur

$arr1 = array('rabbit','cat','dog'); 

$arr2 = array('cat','dog','bird'); 

print_r(array_diff($arr1, $arr2)); 

o (ilk dizide ama ikinci değil ne aradığı için tek tavşan: Bu örnek alın ve tersi değil). Gerçekten sonuç almak için size böyle bir şey yapmak gerekir istiyorum:

$arr1 = array('rabbit','cat','dog'); 

$arr2 = array('cat','dog','bird'); 

$diff1 = array_diff($arr1, $arr2); 
$diff2 = array_diff($arr2, $arr1); 
print_r(array_merge($diff1, $diff2)); 

Not: Bu yöntem yalnızca sayısal anahtarlar ile diziler üzerinde çalışacak.

+1

Bu aradığınız şey için teşekkürler, bu çözüm olarak işaretlenmiş olmalı – artSir

İlgili konular