PHP Conference Japan 2024

array_uintersect_assoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_assocVeriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

Açıklama

array_uintersect_assoc(array $dizi, array ...$diziler, callable $değer_karş_işlevi): array

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.

Bağımsız Değişkenler

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.

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.

Dikkat

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

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut dizi değerlerini içeren bir dizi döndürür.

Örnekler

Ö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
)

Ayrıca Bakınız

  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak 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_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top