Поиск дубликатов в строках и вывод их

Похоже, что при подсчете строки нужно запоминать строку, в которой упоминается дубль
верно, так не прокатило $values = array_count_values($file);

PHP:
$file = file('base.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (empty($file)) return 'empty';

$values = array_count_values($file);

foreach ($values as $line => $count) {
  if ($count < 2) continue;

  echo "Строка: ", $line, ", дублируется {$count} раз", PHP_EOL;
}


как получить в выводе номера строчек где дубли? за ранее спасибо!
пример:
Строка: Ballu BSLI-18H N1 DC Inverter, дублируется 2 раз
Повторы в строке: 230, 450
Строка: Royal Clima CO-4C 12HN, дублируется 3 раз
Повторы в строке: 170, 570, 1007 - как сделать вывод такой информации?
 
Последнее редактирование модератором:
PHP:
$r = [];
foreach (explode("\n", $text) as $i => $line) {
    $r[trim($line)][] = $i + 1;
}

unset($r['']);

foreach ($r as $line => $c) {
    $count = count($c);
    $index = implode(", ", $c);
    if ($count < 2) continue;
    echo "<p>Строка: $line, дублируется $count раз<br>\n";
    echo "Повторы в строке: $index</p>\n";
}
 
Проверил все отлично работает! спасибо большое ближе к ночи выложу готовый диз для проверки подобных дублей!

PHP:
$r = [];
foreach (explode("\n", $text) as $i => $line) {
    $r[trim($line)][] = $i + 1;
}

unset($r['']);

foreach ($r as $line => $c) {
    $count = count($c);
    $index = implode(", ", $c);
    if ($count < 2) continue;
    echo "<p>Строка: $line, дублируется $count раз<br>\n";
    echo "Повторы в строке: $index</p>\n";
}
 
Назад
Сверху