<?php
class Profile { public $n; };
$p1 = new Profile(); $p1->n = "Profile #1";
$p2 = new Profile(); $p2->n = "Profile #2";
$p3 = new Profile(); $p3->n = "Profile #3";
$a1 = array($p1, $p2);
$a2 = array($p2, $p3);
var_dump(array_udiff($a1, $a2, function ($a, $b) { var_dump($a->n, $b->n, $a === $b); return $a === $b ? 0 : 1; }));
var_dump(array_udiff($a1, $a2, function ($a, $b) { var_dump($a->n, $b->n, $a === $b); if ($a === $b) return 0; return $a > $b ? 1 : -1;}));
preferences:
30.17 ms | 402 KiB | 5 Q