Вывод дубля значения в строке файла многомерного массива. Хелп!

Статус
В этой теме нельзя размещать новые ответы.

nulledpapa

Постоялец
Регистрация
1 Фев 2016
Сообщения
147
Реакции
100
Привет друзья, нужна помощь! Есть файл в котором более 20 000 строк. в каждой строке есть значения разбитые знаком "|"

Мне надо найти дубли в каждой строке.

Пример файла base.txt

venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg
venge_color.jpg|dub_albino_color.jpg|dub_tortona_color.jpg
venge_color.jpg|dub_albino_color.jpg|dub_tortona_color.jpg
venge_color.jpg|dub_albino_color.jpg|dub_tortona_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg
dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg|venge_koja_celine_zoloto_temnoe_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|venge_koja_celine_zoloto_temnoe_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg
venge_koja_celine_zoloto_temnoe_color.jpg|dub_albino_koja_celine_jemchug_color.jpg|dub_albino_koja_celine_zoloto_temnoe_color.jpg|dub_tortona_koja_celine_zoloto_temnoe_color.jpg

dub_albino_color.jpg

.........

P.S> Так вот в файле в строке, в строке 9 есть дубликат значения: venge_koja_celine_zoloto_temnoe_color.jpg

Так вот надо написать php скрипт, который бы мне выводил, так:

Строка 9, кол-во дублей с строке: 2, значение: venge_koja_celine_zoloto_temnoe_color.jpg
Строка 4891, кол-во дублей с строке: 3, значение: gg_last.jpg


Очень нужна ваша помощь, так как невезу массивы вообще!!!! спасибо!
 
Решение на Ruby - Для просмотра ссылки Войди или Зарегистрируйся
Вывод получается таким:
Код:
laptop% ruby -w checker.rb
"Строка 9 содержит следующие дубликаты: venge_koja_celine_zoloto_temnoe_color.jpg"
P.S. Обновил ссылку, ибо забыл добавить очищение массива :oops:
 
Последнее редактирование:
Решение на Ruby - Для просмотра ссылки Войди или Зарегистрируйся
Вывод получается таким:
Код:
laptop% ruby -w checker.rb
"Строка 9 содержит следующие дубликаты: venge_koja_celine_zoloto_temnoe_color.jpg"
P.S. Обновил ссылку, ибо забыл добавить очищение массива :oops:


соркус а на php реально ли это реализовать?
 
Реально, но я не php-шник. Если файл один раз нужно прогнать, можешь мне скинуть, я прогоню его скриптом.

от души!!! кинул! но вопрос к php шникам очень актуальный открытый остался! прошу помощи! соркусу за временную помощь большушее спасибо!!!!
 
PHP:
$file = new SplFileObject('base.txt');

foreach ($file as $i => $line) {
    $values = array_flip(array_count_values(explode('|', trim($line))));

    if (count($values) < 2) continue;

    unset($values[1]);

    echo "Строка ", $i + 1, ", дубликаты: ", implode(", ", $values), PHP_EOL;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху