Funzione array_diff_key () di PHP

Definizione e utilizzo

Il array_diff_key() funzione confronta il file keys a partire dal array1 contro le chiavi da array2, array3...ecc e restituisce un array con la differenza, ad es. le chiavi che sono disponibili in array1 e non disponibili in array2, array3 ... ecc. Questa funzione è comearray_diff() eccetto che il confronto viene eseguito in base alle chiavi invece che ai valori.

Sintassi

array array_diff_key ( array $array1, array $array2 [, array $...] );

Parametri

Suor n Parametro e descrizione
1

array1(Required)

Questo primo array verrà confrontato con.

2

array2(Required)

È un array da confrontare con il primo array

3

array3(Optional)

È un array da confrontare con il primo array

Valori restituiti

Questa funzione restituisce un array contenente tutte le chiavi da array1 ma che non sono presenti in nessuno degli altri array passati alla funzione.

Versione PHP

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

Esempio

Questo esempio restituisce 4 e 5 valori perché le prime tre chiavi (0, 1 e 2) sono uguali in entrambi gli array sebbene i loro valori siano diversi -

<?php
   $input1 = array(1, 2, 3, 4, 5);
   $input2 = array(4, 5, 6);

   $result = array_diff_key($input1, $input2);
   print_r($result);
?>

Questo produrrà il seguente risultato:

Array
(
    [3] => 4
    [4] => 5
)

Esempio

Questo esempio restituisce un array vuoto, perché array_diff_key () confronta le chiavi e non i valori perché rileva che entrambi gli array hanno le stesse chiavi, sebbene valori diversi, quindi non trova alcuna differenza -

<?php
   $input4 = array(1, 2, 3);
   $input5 = array(4, 5, 6);
 
   $result = array_diff_key($input4, $input5);
   print_r($result);
?>

Questo produrrà il seguente risultato:

Array
(
)

Esempio

Prova il seguente esempio:

<?php
   $input1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow", "f"=>"yellow");
   $input2 = array("a"=>"red","b"=>"green","c"=>"blue");

   $result = array_diff_key($input1, $input2);
   print_r($result);
?>

Questo produrrà il seguente risultato:

Array
(
    [d] => yellow
    [f] => yellow
)