function hasDupes($array, $delim = '|') {
$values = array();
foreach ($array as $v) {
$v = $v['index1'] . $delim . $v['index2'];
if (isset($values[$v])) {
return true;
}
$values[$v] = 0;
}
return false;
}
Нет необходимости во вложенных циклах или полных обходах (или даже многократных обходах) по массиву, что, кстати, является тем, что большинство предлагаемых функций array_something выполняют внутренне.Выполните итерацию один раз и остановитесь, когда увидите элемент, который вы видели раньше.