PHP array_diff_uassoc() fonksiyonu
Örnek
Anahtar adlarını ve değerlerini karşılaştır (anahtar adlarını karşılaştırmak için kullanıcı tanımlı fonksiyon kullanarak) ve fark döner:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"kırmızı","b"=>"yeşil","e"=>"mavi"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Tanım ve Kullanım
array_diff_uassoc() fonksiyonu, iki (veya daha fazla) dizinin anahtar adlarını ve değerlerini karşılaştırır ve fark döner.
Yorum:Bu fonksiyon, anahtar adlarını karşılaştırmak için kullanıcı tanımlı fonksiyon kullanır!
Bu fonksiyon, iki (veya daha fazla) dizinin anahtar adlarını ve değerlerini karşılaştırır ve karşılaştırılan dizilerdeki tüm anahtar ve değerlerin olmadığı bir fark dizisi döner.array1içerisinde, ancak diğer tüm parametre dizilerinde (array2 veya array3 vb.) anahtar isimlerini ve değerlerini.
Sözdizimi
array_diff_uassoc(array1,array2,array3,...myfunction);
Parametreler | Açıklama |
---|---|
array1 | Gerekli. Diğer dizilerle karşılaştırılacak ilk dizi. |
array2 | Gerekli. İlk dizininle karşılaştırılacak dizi. |
array3,... | İsteğe bağlı. İlk dizininle karşılaştırılacak diğer diziler. |
myfunction | Gerekli. Karşılaştırma fonksiyonunu tanımlayan string. İlk parametre ikinci parametreden küçük, eşit veya büyükse, karşılaştırma fonksiyonu küçük, eşit veya büyük olan bir tamsayı dönmelidir. |
Açıklama
array_diff_uassoc() fonksiyonu, iki veya daha fazla dizinin farkını hesaplamak için kullanıcı tanımlı geri çağrı fonksiyonu (callback) kullanarak indeks kontrolü yapar. İçerdiği dizi, array1 içerisinde ancak diğer tüm parametre dizilerinde bulunmayan değerler.
Dikkat, array_diff() fonksiyonundan farklı olarak, anahtar isimleri de karşılaştırılır.
myfunction parametresi, iki diziyi karşılaştırmak için kullanılan kullanıcı tanımlı bir fonksiyondur, bu fonksiyon iki parametreye sahip olmalıdır - karşılaştırılacak olan anahtar isimleri. Bu nedenle array_diff_assoc() fonksiyonunun davranışı tamamen tersidir, bu fonksiyon içsel bir fonksiyon kullanır.
Dönen dizide anahtar isimleri değişmez.
Teknik Açıklamalar
Dönüş değeri: | daha sonra karşılaştırılan tüm dizilerde bulunan anahtar isimlerini içeren fark dizisi döndürür:array1içerisinde, ancak diğer tüm parametre dizilerinde (array2 veya array3 vb.) anahtar isimlerini ve değerlerini. |
PHP Sürümü: | 5+ |
Daha Fazla Örnek
Örnek 1
Üç dizinin anahtar isimlerini ve değerlerini (kullanıcı tanımlı fonksiyon kullanılarak anahtar isimleri karşılaştırılır) karşılaştırın ve farkları döndürün:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>