Ну, я не знаю о вашем проверенном подходе (вы должны добавить это к вашему вопросу). Но, похоже, вы должны просто использовать цикл для фильтрации записей:
$found = array();
foreach ($array as $i=>$row) {
$check = "$row[a],$row[b],$row[c]";
//$check = $row["duplicate_check"];
if (@$found[$check]++) {
unset($array[$i]);
}
}
Ленивое решение (но, вероятно, не для вашей задачи) также может быть:
=array_map("unserialize", array_unique(array_map("serialize", $array)));