Funzione PHP array_diff_ukey ()

Definizione e utilizzo

Il array_diff_ukey() confronta solo il file keys di due (o più) array utilizzando una funzione definita dall'utente e restituisce un array che contiene le voci di array1 che non sono presenti in array2 o array3, ecc.

Questa funzione è diversa da array_diff() funzione perché array_diff () confronta i valori mentre questa funzione confronta le chiavi.

Questa funzione è diversa da array_diff_assoc() funzione perché array_diff_assoc () utilizza l'algoritmo interno per confrontare gli indici, mentre questa funzione utilizza la funzione definita dall'utente.

Sintassi

array_diff_ukey ( $array1, $array2 [, $array3...,callback $key_compare_func] );

Parametri

Suor n Parametro e descrizione
1

array1(Required)

Il primo array è l'array con cui verranno confrontati gli altri.

2

array2(Required)

È 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 che non sono presenti in nessuno degli altri array.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione PHP 5.1.0.

Esempio

Prova il seguente esempio:

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array(0=>"banana", 1=>"orange", 2=>"grapes");
   $input2 = array(3=>"apple",1=>"apricot", 5=>"mango");

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

Questo produrrà il seguente risultato:

Array
(
    [0] => banana
    [2] => grapes
)

Esempio

Prova il seguente esempio:

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
   $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>

Questo produrrà il seguente risultato:

Array
(
    [red] => 2
    [purple] => 4
)