Συνάρτηση array_diff_ukey
Η συνάρτηση array_diff_ukey συγκρίνει τα κλειδιά πολλαπλών πινάκων και επιστρέφει τα στοιχεία από τον πρώτο πίνακα, των οποίων τα κλειδιά απουσιάζουν από τους υπόλοιπους πίνακες. Για τη σύγκριση των κλειδιών χρησιμοποιείται μια συνάρτηση callback, που ορίζεται από τον χρήστη. Ως πρώτη παράμετρος μεταβιβάζεται ο κύριος πίνακας, ως επόμενες παράμετροι - πίνακες για σύγκριση, και ως τελευταία παράμετρος - η συνάρτηση callback.
Σύνταξη
array_diff_ukey(array $array1, array $array2 [, array $... ], callable $key_compare_func): array
Παράδειγμα
Ας συγκρίνουμε δύο πίνακες με βάση τα κλειδιά, χρησιμοποιώντας τη συνάρτηση callback strcasecmp (σύγκριση χωρίς διάκριση πεζών/κεφαλαίων):
<?php
$array1 = ['A' => 1, 'b' => 2, 'C' => 3];
$array2 = ['a' => 4, 'B' => 5];
$res = array_diff_ukey($array1, $array2, 'strcasecmp');
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['C' => 3]
Παράδειγμα
Ας συγκρίνουμε τρεις πίνακες με προσαρμοσμένη συνάρτηση callback:
<?php
function keyCompare($key1, $key2) {
return $key1 <=> $key2;
}
$array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$array2 = [1 => 'd', 4 => 'e'];
$array3 = [2 => 'f'];
$res = array_diff_ukey($array1, $array2, $array3, 'keyCompare');
print_r($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
[3 => 'c']
Δείτε επίσης
-
τη συνάρτηση
array_diff,
που συγκρίνει πίνακες με βάση τις τιμές -
τη συνάρτηση
array_diff_key,
που συγκρίνει πίνακες με βάση τα κλειδιά -
τη συνάρτηση
array_udiff,
που συγκρίνει πίνακες μέσω συνάρτησης callback