Funkcja PHP array_diff_ukey()

Przykład

Porównaj nazwy kluczy dwóch tablic (używając użytkownika-defined funkcji do porównania nazw kluczy) i zwróć różnicę:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"czerwony","b"=>"zielony","c"=>"niebieski");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result);
?>

Uruchomienie przykładu

Definicja i użycie

Funkcja array_diff_ukey() używa do porównania nazw kluczy dwóch (lub więcej) tablic i zwraca różnicę.

Komentarz:Funkcja ta używa użytkownika-defined funkcji do porównania nazw kluczy!

Funkcja ta porównuje nazwy kluczy dwóch (lub więcej) tablic i zwraca tablicę różnic, która zawiera wszystkie elementy z porównywanych tablic (array1) ale nie w żadnych innych parametrycznych tablicach (array2 lub array3 i tym podobne) kluczami.

Gramatyka

array_diff_ukey(array1,array2,array3...,myfunction);
Parametry Opis
array1 Wymagane. Pierwsza tablica do porównania z innymi tablicami.
array2 Wymagane. Tablica do porównania z pierwszą tablicą.
array3,... Opcjonalne. Inne tablice do porównania z pierwszą tablicą.
myfunction Wymagane. Źrenictwo łańcucha znaków, który definiuje funkcję porównania wywoływanej. Jeśli pierwszy parametr jest mniejszy, równy lub większy niż drugi parametr, funkcja porównania musi zwrócić całkowitą liczbę mniejszą, równą lub większą niż 0.

Opis

array_diff_ukey() zwraca tablicę, która zawiera wszystkie klucze array1 ale nie występujące w żadnych innych parametrycznych tablicach kluczach. Uwaga: relacja asocjacyjna jest zachowana. Różni się od array_diff(), ponieważ porównanie jest przeprowadzane na podstawie kluczy, a nie wartości.

Porównanie to jest przeprowadzane za pomocą funkcji zwrotnych dostarczonych przez użytkownika. Jeśli uważa się, że pierwszy parametr jest mniejszy, równy, lub większy od drugiego parametru, należy odpowiednio zwrócić liczbę całkowitą mniejszą niż zero, równą zero, lub większą niż zero.

Szczegóły techniczne

Wartość zwracana: Zwróć tablicę różnic, która zawiera wszystkie kluczearray1) ale nie w żadnych innych parametrycznych tablicach (array2 lub array3 i tym podobne) kluczami.
Wersja PHP: 5.1+

Więcej przykładów

Przykład 1

Porównaj nazwy kluczy trzech tablic (używając funkcji użytkownika do porównywania nazw kluczy) i zwróć różnicę:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"czerwony","b"=>"zielony","c"=>"niebieski");
$a2=array("a"=>"czarny","b"=>"żółty","d"=>"brązowy");
$a3=array("e"=>"fioletowy","f"=>"biały","a"=>"złoty");
$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Uruchomienie przykładu