Functie array_intersect_ukey

De functie array_intersect_ukey accepteert meerdere arrays en een callback-functie voor het vergelijken van hun sleutels. In de eerste parameter wordt de hoofdarray doorgegeven, en in de volgende parameters de arrays voor vergelijking. De laatste parameter is de callback-functie, die sleutels moet vergelijken en een geheel getal moet retourneren (kleiner dan, gelijk aan of groter dan nul).

Syntaxis

phparray_intersect_ukey(array $array1, array $array2, ..., callable $key_compare_func): array

Voorbeeld

Laten we sleutels van twee arrays vergelijken met behulp van een aangepaste functie:

php<?php
  $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $array2 = ['a' => 4, 'c' => 5, 'd' => 6];
  
  $res = array_intersect_ukey($array1, $array2, function($key1, $key2) {
    return strcmp($key1, $key2);
  });
  
  print_r($res);
?>

Resultaat van de code-uitvoering:

php['a' => 1, 'c' => 3]

Voorbeeld

Vergelijking van sleutels van drie arrays met hoofdlettergevoeligheid:

php<?php
  $array1 = ['A' => 1, 'B' => 2, 'C' => 3];
  $array2 = ['a' => 4, 'B' => 5, 'C' => 6];
  $array3 = ['A' => 7, 'B' => 8, 'c' => 9];
  
  $res = array_intersect_ukey($array1, $array2, $array3, function($key1, $key2) {
    return strcmp($key1, $key2);
  });
  
  print_r($res);
?>

Resultaat van de code-uitvoering:

php['B' => 2]

Zie ook

  • functie array_intersect,
    die het snijpunt van arrays berekent op basis van waarden
  • functie array_intersect_key,
    die het snijpunt van arrays berekent op basis van sleutels
  • functie array_uintersect,
    die het snijpunt van arrays berekent met een callback-functie voor het vergelijken van waarden