PHP array_udiff() Function
Quick summary: The PHP array_udiff() function computes the difference of arrays using a user-defined comparison function for values.
PHP array_udiff() Syntax
array_udiff(array $array, array ...$arrays, callable $value_compare_func): array
PHP
PHP array_udiff() Basic examples
function cmp($a, $b){ return $a <=> $b; }
$a = [1,2,3];
$b = [2];
print_r(array_udiff($a, $b, 'cmp'));
PHP
Output:
Array ( [0] => 1 [2] => 3 )
Compares values using custom callback.
PHP array_udiff() Real-world usage
PHP array_udiff() Edge cases
array_udiff([1,2], [2], null);
PHP
Output:
Warning
Callback must be valid and callable.
PHP array_udiff() Common mistakes
Returning boolean from callback
Comparison callback must return integer.
Incorrect
array_udiff($a, $b, fn()=>true);
Correct
array_udiff($a, $b, fn($x,$y)=>$x<=>$y);
Return <0, 0, or >0.
PHP array_udiff() Frequently Asked Questions
What does array_udiff() do?
Computes array difference using a user-defined value comparison.
Use case?
Custom value comparison.
Callback required?
Yes.
Common mistake?
Wrong callback return values.
Return type?
Array.
Performance?
Slower than native diff.
Safe?
Yes.
Alternative?
array_diff().
Handles keys?
No.
Comparison flexible?
Yes.
Best practice?
Keep callback simple.
Used in sorting logic?
Yes.