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);
?>

Çalıştırma Örneği

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);
?>

Çalıştırma Örneği