array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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$dizi, array...$diziler, callable$anh_karş_işlevi): array

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

Bağımsız Değişkenler

dizi

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

diziler

Anahtarları karşılaştırılacak diziler.

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.

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

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Anahtarları tüm bağımsız değişkenlerde mevcut dizi 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 dizi 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
To Top