Συνάρτηση array_diff_uassoc() του PHP

Παράδειγμα

Σύγκριση των ονομάτων κλειδιών και των τιμών των δύο μαγίλων (χρησιμοποιώντας μια προσαρμοσμένη συνάρτηση για τη σύγκριση των ονομάτων κλειδιών) και επιστροφή διαφοράς:

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

Run Instances

Ορισμός και χρήση

Η συνάρτηση array_diff_uassoc() χρησιμοποιείται για τη σύγκριση των ονομάτων κλειδιών και των τιμών των δύο (ή περισσότερων) μαγίλων και επιστρέφει διαφορά.

Σημείωση:Η συνάρτηση αυτή χρησιμοποιεί μια προσαρμοσμένη συνάρτηση για τη σύγκριση των ονομάτων κλειδιών!

Η συνάρτηση αυτή συγκρίνει τα ονόματα κλειδιών και τις τιμές των δύο (ή περισσότερων) μαγίλων και επιστρέφει μια μαγίλα διαφοράς που περιλαμβάνει όλες τις τιμές πουarray1) but not in any other parameter array (array2 or array3 etc.) key names and values.

Γλώσσα

array_diff_uassoc(array1,array2,array3...myfunction);
Παράμετροι Περιγραφή
array1 Απαιτείται. Η πρώτη μαγίλα που συγκρίνονται με τις άλλες μαγίλες.
array2 Απαιτείται. Η μαγίλα που συγκρίνονται με την πρώτη μαγίλα.
array3,... Οπション. Άλλες μαγίλες που συγκρίνονται με την πρώτη μαγίλα.
myfunction Απαιτείται. Ορίζει τη συμβολοσειρά που καθορίζει τη συνάρτηση σύγκρισης που μπορεί να καλείται. Αν ο πρώτος παραμέτρος είναι μικρότερος, ίσος ή μεγαλύτερος από τον δεύτερο παραμέτρο, η συνάρτηση σύγκρισης πρέπει να επιστρέφει ακέραιο μικρότερο, ίσο ή μεγαλύτερο από 0.

Σημείωση

Η συνάρτηση array_diff_uassoc() χρησιμοποιεί μια προσαρμοσμένη συνάρτηση回调 (callback) για έλεγχο ευρετηρίασης για να υπολογίσει τη διαφορά μεταξύ δύο ή περισσότερων μαγίλων. Επιστρέφει μια μαγίλα που περιλαμβάνει όλες τις τιμές που array1 but not in any other parameter array.

Note that unlike the array_diff() function, key names are also compared.

The parameter myfunction is a user-defined function used to compare two arrays, which must have two parameters - namely the key names to be compared. Therefore, it is exactly opposite in behavior to the function array_diff_assoc(), which uses the internal function for comparison.

The key names in the returned array remain unchanged.

Technical Details

Return Value: Returns the difference set array, which includes all values in the compared arrays (array1) but not in any other parameter array (array2 or array3 etc.) key names and values.
PHP Version: 5+

More Examples

Example 1

Compare the key names and values of three arrays (using a user-defined function to compare key names) and return the difference set:

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

Run Instances