Funzione array_diff_uassoc() di PHP

Esempio

Confronta i nomi delle chiavi e i valori delle chiavi di due array (utilizzando una funzione personalizzata per confrontare i nomi delle chiavi) e restituisce la 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("d"=>"red","b"=>"green","e"=>"blue");
$result=array_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Esempio di esecuzione

Definizione e uso

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

Nota:Questa funzione utilizza una funzione personalizzata per confrontare i nomi delle chiavi!

Questa funzione confronta i nomi delle chiavi e i valori delle chiavi di due (o più) array e restituisce un array di differenza che include tutte learray1ma non in qualsiasi altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori.

Sintassi

array_diff_uassoc(array1,array2,array3,...myfunction);
Parametri 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. Definire una stringa che rappresenta la funzione di confronto的可调用函数。

Descrizione

La funzione array_diff_uassoc() utilizza una funzione di callback personalizzata per controllare l'indice e calcolare la differenza tra due o più array. Restituisce un array che include tutte le array1 ma non presenti in qualsiasi altro array di parametri.

Notare che, a differenza della funzione array_diff(), anche i nomi delle chiavi devono essere confrontati.

Il parametro myfunction è una funzione personalizzata utente utilizzata per confrontare due array, la quale deve avere due parametri - ossia i nomi delle chiavi da confrontare. Pertanto, il comportamento è esattamente opposto a quello della funzione array_diff_assoc(), che utilizza una funzione interna per il confronto.

I nomi delle chiavi nell'array restituito rimangono invariati.

Dettagli tecnici

Valore di ritorno: Restituisce un array di differenza che include tutti i valori presenti negli array confrontati (array1ma non in qualsiasi altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori.
Versione PHP: 5+

Più esempi

Esempio 1

Confronta i nomi delle chiavi e i valori di tre array (utilizzando una funzione utente personalizzata 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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Esempio di esecuzione