Funzione array_diff_ukey() di PHP

Esempio

Confronta i nomi delle chiavi di due array (utilizzando una funzione di confronto personalizzata) e restituisce un array di differenza:

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

Esempio di esecuzione

Definizione e uso

La funzione array_diff_ukey() viene utilizzata per confrontare i nomi delle chiavi di due (o più) array e restituire un array di differenza.

Nota:Questa funzione utilizza una funzione di confronto personalizzata!

Questa funzione confronta i nomi delle chiavi di due (o più) array e restituisce un array di differenza che include tutte le chiavi presenti negli array confrontati (array1) ma non presenti in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi.

Sintassi

array_diff_ukey(array1,array2,array3...,myfunction);
Parametro Descrizione
array1 Obbligatorio. Primo array da confrontare con altri array.
array2 Obbligatorio. Array da confrontare con il primo array.
array3,... Opzionale. Altri array da confrontare con il primo array.
myfunction Obbligatorio. Stringa che definisce la funzione di confronto richiamabile. Se il primo argomento è minore, uguale o maggiore del secondo argomento, la funzione di confronto deve restituire un intero positivo, uguale o negativo.

Descrizione

array_diff_ukey() restituisce un array che include tutte le chiavi presenti array1 ma non presenti in nessun altro array di parametri. Attenzione: l'associazione rimane invariata. A differenza di array_diff(), la comparazione avviene in base al nome delle chiavi e non dei valori.

Questa comparazione viene effettuata tramite una funzione di callback fornita dall'utente. Deve restituire un intero minore di zero, zero o maggiore di zero se il primo parametro è minore, uguale o maggiore del secondo parametro.

Dettagli tecnici

Valore di ritorno: ) restituisce un array di intersezione che include tutte le chiavi deiarray1) ma non presenti in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi.
Versione PHP: 5.1+

Più esempi

Esempio 1

Confronta i nomi delle chiavi di tre array (utilizza una funzione utente definita per confrontare i nomi delle chiavi) e restituisce l'intersezione:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Esempio di esecuzione