(PHP 5, PHP 7, PHP 8)
array_uintersect_assoc — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar.
array_uintersect() işlevinin tersine karşılaştırmada anahtarlar kullanılır. Veri bir karşılaştırma işlevi kullanılarak karşılaştırılır.
dizi
İlk dizi.
diziler
Karşılaştırılacak diziler.
değer_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.
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.
Sıralama geri çağrısı, başlangıçta sağlandıkları sıraya bakılmaksızın, herhangi bir dizideki herhangi bir değeri herhangi bir sırada işlemelidir. Bunun nedeni, her bir dizinin diğer dizilerle karşılaştırılmadan önce ilk olarak sıralanmasıdır. Örneğin:
<?php
$arrayA = ["string", 1];
$arrayB = [["value" => 1]];
// $item1 ve $item2 "string", 1 veya [“value” => 1] seçeneklerinden herhangi biri olabilir
$compareFunc = static function ($item1, $item2) {
$value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
$value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
return $value1 <=> $value2;
};
?>
Tüm bağımsız değişkenlerde mevcut dizi
değerlerini içeren bir dizi döndürür.
Örnek 1 - array_uintersect_assoc() örneği
<?php
$dizi1 = array("a" => "mor", "b" => "sarı", "c" => "mavi", "kırmızı");
$dizi2 = array("a" => "MOR", "B" => "sarı", "yeşil", "kırmızı");
print_r(array_uintersect_assoc($dizi1, $dizi2, "strcasecmp"));
?>
Yukarıdaki örneğin çıktısı:
Array ( [a] => mor )