Funzione PHP array_diff_uassoc ()
Definizione e utilizzo
Il array_diff_uassoc() La funzione confronta le chiavi ei valori di due (o più) array e restituisce un array che contiene le voci di array1 che non sono presenti in nessuno degli altri array con lo stesso valore.
Questa funzione è diversa da array_diff() perché array_diff () confronta i valori mentre questa funzione confronta le chiavi e i loro valori in altri array.
Questa funzione è diversa da array_diff_assoc() perché array_diff_assoc () utilizza un algoritmo interno per confrontare le chiavi ei loro valori, mentre questa funzione utilizza la funzione definita dall'utente per confrontare le chiavi ei loro valori.
Sintassi
array_diff_uassoc ( $array1, $array2 [, $array3..., callback $key_compare_func] );Parametri
| Suor n | Parametro e descrizione | 
|---|---|
| 1 | array1(Required) Matrice da cui confrontare | 
| 2 | array2(Required) Questo è un array da confrontare con il primo array | 
| 3 | array3(Optional) Un array da confrontare con il primo array | 
| 4 | key_compare_func(Required) È una funzione di callback da utilizzare per confrontare le chiavi. Questa funzione di callback deve restituire un numero intero <, =,> di 0 se il primo argomento è considerato rispettivamente <, =,> rispetto al secondo argomento. | 
Valori restituiti
Questa funzione restituisce un array contenente tutte le voci di array1 ma che non sono presenti in nessuno degli altri array.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione PHP 5.0.0.
Esempio
Prova il seguente esempio. Qui la funzione di confronto delle chiavi restituisce 0 se $ input1 le chiavi sono uguali a qualsiasi altro array di input, altrimenti restituisce 1 se maggiore o -1 se minore.
Durante il confronto delle chiavi utilizzando la funzione definita, abbiamo le chiavi "a" in entrambi gli array, quindi non verranno visualizzate nell'output. I tasti successivi "b" e "c" non sono nel secondo array, quindi andranno in output. Ulteriore coppia 0 => "rosso" è nell'output perché nel secondo argomento "rosso" ha la chiave che è 1 -
<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
   $input2 = array("a" => "green", "yellow", "red");
   $result = array_diff_uassoc($input1, $input2, "key_compare_func");
   print_r($result);
?>Questo produrrà il seguente risultato:
Array
(
    [b] => brown
    [c] => blue
    [0] => red
)Esempio
Prova il seguente esempio. Questa volta "rosso" non sarà nell'output perché ora entrambe le chiavi sono uguali che è 0.
<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
   $input2 = array("a" => "green", "c" => "yellow", "red");
   $result = array_diff_uassoc($input1, $input2, "key_compare_func");
   print_r($result);
?>Questo produrrà il seguente risultato:
Array
(
    [b] => brown
    [c] => blue
)