array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_intersect_ukeyAnahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar

Açıklama

array_intersect_ukey ( array $dizi1 , array $dizi2 [, array $... ], callable $anh_karş_işlevi ) : array

array_intersect_ukey() işlevi tüm değiştirgelerinde mevcut olan ve anahtarları eşleşen tüm dizi1 değerlerini içeren bir dizi döndürür.

Değiştirgeler

dizi1

Diğer dizilerin karşılaştırılacağı ilk dizi.

dizi2

İlk dizi ile karşılaştırılacak dizi.

...

İlk dizi ile karşılaştırılacak diğer dizilerin değişkenlerinin listesi.

anh_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir. Dikkat: PHP 7.0.0 öncesinde bu tamsayı -2147483648 ile 2147483647 arasında olmalıdır.

callback ( mixed $a, mixed $b ) : int

Dönen Değerler

Anahtarları tüm değiştirgelerde mevcut dizi1 değerlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_intersect_ukey() örneği

<?php
function anh_kars_islevi($a1$a2)
{
    if (
$a1 == $a2)
        return 
0;
    else if (
$a1 $a2)
        return 
1;
    else
        return -
1;
}

$dizi1 = array('blue'  => 1'red'  => 2'green'  => 3'purple' => 4);
$dizi2 = array('green' => 5'blue' => 6'yellow' => 7'cyan'   => 8);

var_dump(array_intersect_ukey($dizi1$dizi2'anh_kars_islevi'));
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Örnekte gördüğünüz gibi her iki dizide de sadece 'blue' ve 'green' anahtarları ortak olduğundan dönen dizi sadece bu elemanları içermektedir. Ayrıca, dizilerde 'blue' ve 'green' anahtarlı elemanların değerlerinin farklı oluşuna da dikkat ediniz. Sadece anahtarlara bakıldığından bir eşleşme oluşmakta ve sadece dizi1 dizisindeki değerler döndürülmektedir.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_diff_key() - Dizilerin farkını hesaplarken indisleri karşılaştırır
  • array_diff_ukey() - Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar