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.

PHP array_udiff() Related PHP Functions