2010-08-22 21 views
7

Birbiriyle 2 dizi nasıl karşılaştırılır?
Örneğin, array("a", "b", "c") ve array("a", "c", "b") var Karşılaştırıldıklarında doğru olarak dönecektir. Ancak bunlardan birinde bulunmayan harflerden biri yanlış ise geri dönecektir. Sipariş önemli değil.PHP dizi karşılaştırması

sort($array1); 
sort($array2); 
// now you can compare as usual 
if ($array1 == $array2) ... 

Yoksa anahtarlarını korumak istiyorsanız asort() kullanın:

+0

o sanki (serialize gibi basit bir şey (bir çeşit ($ dizi1)) == serialize (bir çeşit ($ array2) olabilir) –

+3

@Alec:? 'Sort' yapar – soulmerge

+0

@soulmerge benim kötü ... –

cevap

18

Kıyaslama öncesinde aynı düzene iki dizide içeriğini getirmek gerekir.

-3

Sen kullanabilirsiniz:

if (empty(array_diff($array1, $array2)) { 
    // do something 
} 
+1

'boş 'sadece değişkenler üzerinde çalışıyor – soulmerge

+3

Bu zaten işe yaramaz, array_diff, dizi1'den eksik olan varlıkları yalnızca dizi1'den döndürür. Bütünlük için $ dizi2, $ dizi1) ' –

+0

@soulmerge, şimdi' boş' en azından PHP 5.5.0'dan beri ifadeler üzerinde çalışır. – Jocelyn