Συνάρτηση array_uintersect
Η συνάρτηση array_uintersect υπολογίζει την τομή πινάκων, χρησιμοποιώντας για τη σύγκριση τιμών μια συνάρτηση callback. Επιστρέφει έναν πίνακα που περιέχει όλα τα στοιχεία από τον πρώτο πίνακα, που υπάρχουν σε όλους τους υπόλοιπους πίνακες. Η σύγκριση τιμών γίνεται μέσω μιας συνάρτησης callback που ορίζεται από το χρήστη.
Σύνταξη
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Παράδειγμα
Ας βρούμε την τομή δύο πινάκων, συγκρίνοντας τις τιμές τους χρησιμοποιώντας μια συνάρτηση callback:
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6, 8, 10];
$res = array_uintersect($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
[2, 4]
Παράδειγμα
Σύγκριση πινάκων συμβολοσειρών χρησιμοποιώντας συνάρτηση που ορίζεται από το χρήστη:
<?php
$array1 = ['a', 'b', 'c', 'd', 'e'];
$array2 = ['b', 'd', 'f', 'h', 'j'];
$res = array_uintersect($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['b', 'd']
Δείτε επίσης
-
τη συνάρτηση
array_intersect,
που υπολογίζει την τομή πινάκων -
τη συνάρτηση
array_intersect_assoc,
που υπολογίζει την τομή πινάκων με πρόσθετό έλεγχο ευρετηρίου -
τη συνάρτηση
array_uintersect_assoc,
που υπολογίζει την τομή πινάκων με πρόσθετό έλεγχο ευρετηρίου, χρησιμοποιώντας συνάρτηση callback