Η συνάρτηση 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); ?>
Ορισμός και χρήση
Η συνάρτηση 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); ?>