PHP array_diff_uassoc() funktion

eksempel

Sammenlign nøglenavne og nøgleværdier mellem to array'er (brug en brugerdefineret funktion til at sammenligne nøglenavne) og returner forskelsmængden:

<?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);
?>

Kør en eksempel

definition og brug

array_diff_uassoc() funktion bruges til at sammenligne nøglenavne og nøgleværdier mellem to (eller flere) array'er og returnerer forskelsmængden.

Bemærkninger:Denne funktion bruger en brugerdefineret funktion til at sammenligne nøglenavne!

Denne funktion sammenligner nøglenavne og nøgleværdier mellem to (eller flere) array'er og returnerer en forskelsmængde array, der inkluderer alle elementer, der findesarray1osv.), men ikke i nogen andre parameterarrayer (array2 eller array3 osv.) nøgler og værdier.

syntaks

array_diff_uassoc(array1,array2,array3,...myfunction);
parametre beskrivelse
array1 obligatorisk. Den første array, der skal sammenlignes med andre array'er.
array2 obligatorisk. Array, der skal sammenlignes med den første array.
array3,... valgfri. Andre array'er, der skal sammenlignes med den første array.
myfunction obligatorisk. Definerer en streng, der indeholder den komparative funktion, der kan kaldes. Hvis den første parameter er mindre end, lig med eller større end den anden parameter, skal den komparative funktion returnere et heltal mindre end, lig med eller større end 0.

beskrivelse

array_diff_uassoc() funktion bruger en brugerdefineret callback-funktion (callback) til at udføre indekskontrol for at beregne forskelsmængden mellem to eller flere array'er. Returnerer et array, der inkluderer de elementer, der findes array1 men ikke i nogen andre parameterarrayer.

Bemærk, at forskellen med array_diff() funktionen er, at nøgler også sammenlignes.

Parameteren myfunction er en brugerdefineret funktion til at sammenligne to arrayer, som skal have to parametre - de nøgler, der skal sammenlignes. Derfor er adfærden præcis modsat array_diff_assoc() funktionen, som bruger en intern funktion til sammenligning.

Nøglen i det returnerede array forbliver uændret.

Tekniske detaljer

Returværdi: Returner forskelsarrayen, som indeholder alle værdier, der findes i de sammenlignede arrayer (array1osv.), men ikke i nogen andre parameterarrayer (array2 eller array3 osv.) nøgler og værdier.
PHP version: 5+

Flere eksempler

Eksempel 1

Sammenlign nøgler og værdier i tre arrayer (brug brugerdefinerede funktioner til at sammenligne nøgler) og returner forskellen:

<?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);
?>

Kør en eksempel