<?php
$a= [['a', 10], ['b', 11], ['c', 12], ['d', 13]];
$b = [['k', 21], ['l', 22], ['m', 23]];
$diff = array_udiff($a, $b, function($o1, $o2) {
echo 'comparing ' . $o1[0] . ', ' . $o2[0] . '\n';
return $o1[1] - $o2[1];
});
var_dump($diff);
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- comparing a, b\ncomparing b, c\ncomparing c, d\ncomparing k, l\ncomparing l, m\ncomparing a, k\ncomparing a, b\ncomparing b, k\ncomparing b, c\ncomparing c, k\ncomparing c, d\ncomparing d, k\narray(4) {
[0]=>
array(2) {
[0]=>
string(1) "a"
[1]=>
int(10)
}
[1]=>
array(2) {
[0]=>
string(1) "b"
[1]=>
int(11)
}
[2]=>
array(2) {
[0]=>
string(1) "c"
[1]=>
int(12)
}
[3]=>
array(2) {
[0]=>
string(1) "d"
[1]=>
int(13)
}
}
- Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.28
- comparing b, a\ncomparing b, c\ncomparing d, b\ncomparing c, b\ncomparing d, c\ncomparing l, k\ncomparing m, l\ncomparing a, k\ncomparing a, b\ncomparing b, k\ncomparing b, c\ncomparing c, k\ncomparing c, d\ncomparing d, k\narray(4) {
[0]=>
array(2) {
[0]=>
string(1) "a"
[1]=>
int(10)
}
[1]=>
array(2) {
[0]=>
string(1) "b"
[1]=>
int(11)
}
[2]=>
array(2) {
[0]=>
string(1) "c"
[1]=>
int(12)
}
[3]=>
array(2) {
[0]=>
string(1) "d"
[1]=>
int(13)
}
}
preferences:
186.58 ms | 403 KiB | 224 Q