Η συνάρτηση PHP array_intersect_uassoc()

Παράδειγμα

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

<?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_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Run Instances

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

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

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

Η συνάρτηση αυτή συγκρίνει τα ονόματα και τις τιμές των κλειδιών δύο (ή περισσότερων) πινάκων και επιστρέφει έναν πίνακα κοινής διέλευσης που περιέχει όλες τις τιμέςarray1)is also present in any other parameter array(array2 or array3 etc.) of the keys and values.

Περιγραφή

Η συνάρτηση array_intersect_uassoc() χρησιμοποιεί τη διαδικασία που καθορίζει ο χρήστης για να υπολογίζει το κοινό των πινάκων, χρησιμοποιώντας τη διαδικασία για τη σύγκριση των ιндексων.

Η συνάρτηση array_intersect_uassoc() επιστρέφει έναν πίνακα που περιέχει όλες τις τιμές array1 τα οποία επίσης εμφανίζονται σε όλες τις άλλες παραμέτρους των πινάκων. Τα ονόματα των κλειδιών στην επιστρεπτόμενη λίστα παραμένουν αμετάβλητα.

Σημείωση: Αντίθετα με το array_intersect(), πρέπει να συγκριθούν τόσο οι τιμές των κλειδιών όσο και τα ονόματα των κλειδιών.

Αυτή η σύγκριση γίνεται μέσω της κλήσης της διαδικασίας που παρέχει ο χρήστης. Η διαδικασία αυτή έχει δύο παραμέτρους, τα ονόματα των κλειδιών που πρέπει να συγκριθούν. Αν η πρώτη παράμετρος είναι μικρότερη από τη δεύτερη, η διαδικασία πρέπει να επιστρέψει ένα αρνητικό αριθμό, αν οι δύο παράμετροι είναι ίσες, πρέπει να επιστρέψει το 0, και αν η πρώτη παράμετρος είναι μεγαλύτερη από τη δεύτερη, πρέπει να επιστρέψει έναν θετικό αριθμό.

γραμματική

array_intersect_uassoc(array1,array2,array3...myfunction)
Parameters Description
array1 Required. The first array to compare with the other arrays.
array2 Required. The array to compare with the first array.
array3,... Optional. Other arrays to compare with the first array.
myfunction Required. A string that defines the callable comparison function. If the first parameter is less than, equal to, or greater than the second parameter, the comparison function must return an integer less than, equal to, or greater than 0.

Technical Details

Return Value: Returns the intersection array that includes all the keys in the arrays being compared(array1)is also present in any other parameter array(array2 or array3 etc.) of the keys and values.
PHP Version: 5+

More Examples

Example 1

Compare the keys and values of three arrays (using a user-defined function to compare keys) and return the intersection:

<?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_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Run Instances