English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Uso e esempio di funzione array_diff_uassoc() in PHP

PHP Array Funzione Manuale

Definizione e uso

array_diff_uassoc()La funzione confronta le chiavi e i valori di due (o più) array e restituisce un array che contiene le voci di $array1 che non esistono in qualsiasi altro array con lo stesso valore.

Questa funzione è diversa daarray_diff()poiché array_diff() confronta i valori, mentre questa funzione confronta chiavi e valori di altri array.

Questa funzione è diversa daarray_diff_assocDiverso da () perché array_diff_assoc() utilizza un algoritmo interno per confrontare chiavi e valori, mentre questa funzione utilizza una funzione definita dall'utente.

Sintassi

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

Parametro

Numero di ordinamentoParametri e descrizione
1

array1(Obbligatorio)

Array da confrontare

2

array2(Obbligatorio)

Questo è l'array da confrontare con il primo array

3

array3(Opzionale)

Array da confrontare con il primo array

4

key_compare_func(Obbligatorio)

Quando il primo parametro è minore, uguale o maggiore del secondo parametro, la funzione di confronto deve restituire un intero minore, uguale o maggiore di 0 in modo corrispondente.

Valore di ritorno

Questa funzione restituisce un array che contiene tutte le voci dell'array1 ma non esistono in altri array.

Versione PHP

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

Esempio Online

Prova il seguente esempio. In questo caso, se la chiave $input1 è uguale a qualsiasi altro array di input, la funzione di confronto delle chiavi restituisce 0; se è maggiore, restituisce 1; se è minore, restituisce -1.

Quando si utilizza la funzione definita per confrontare le chiavi, entrambi gli array contengono effettivamente la chiave "a", quindi non apparirà nell'output. La prossima chiave "b" e "c" non sono presenti nell'array secondario, quindi verranno incluse nell'output. L'altra coppia 0 => "red" è presente nell'output perché nell'indice secondario "red" il valore è 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);
?>
Prova a vedere‹/›

Risultato di Output:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Esempio Online

Prova il seguente esempio. Questa volta "red" non apparirà nell'output perché ora entrambi gli indici sono uguali a 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);
?>
Prova a vedere‹/›

Risultato di Output:

Array
(
    [b] => brown
    [c] => blue
)

PHP Array Funzione Manuale