Συνάρτηση array_intersect_ukey
Η συνάρτηση array_intersect_ukey δέχεται πολλούς πίνακες και μια συνάρτηση callback για τη σύγκριση των κλειδιών τους. Στην πρώτη παράμετρο περνάται ο κύριος πίνακας, και στις επόμενες - οι πίνακες για σύγκριση. Στην τελευταία παράμετρο περνάται η συνάρτηση callback, η οποία πρέπει να συγκρίνει κλειδιά και να επιστρέφει έναν ακέραιο αριθμό (μικρότερο, ίσο ή μεγαλύτερο από το μηδέν).
Σύνταξη
array_intersect_ukey(array $array1, array $array2, ..., callable $key_compare_func): array
Παράδειγμα
Ας συγκρίνουμε τα κλειδιά δύο πινάκων χρησιμοποιώντας μια προσαρμοσμένη συνάρτηση:
<?php
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 4, 'c' => 5, 'd' => 6];
$res = array_intersect_ukey($array1, $array2, function($key1, $key2) {
return strcmp($key1, $key2);
});
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['a' => 1, 'c' => 3]
Παράδειγμα
Σύγκριση κλειδιών τριών πινάκων με ευαισθησία σε πεζά-κεφαλαία:
<?php
$array1 = ['A' => 1, 'B' => 2, 'C' => 3];
$array2 = ['a' => 4, 'B' => 5, 'C' => 6];
$array3 = ['A' => 7, 'B' => 8, 'c' => 9];
$res = array_intersect_ukey($array1, $array2, $array3, function($key1, $key2) {
return strcmp($key1, $key2);
});
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['B' => 2]
Δείτε επίσης
-
τη συνάρτηση
array_intersect,
που υπολογίζει την τομή πινάκων βάσει τιμών -
τη συνάρτηση
array_intersect_key,
που υπολογίζει την τομή πινάκων βάσει κλειδιών -
τη συνάρτηση
array_uintersect,
που υπολογίζει την τομή πινάκων με συνάρτηση callback για σύγκριση τιμών