Автор Тема: Как удалить одинаковые значения массива?  (Прочитано 5372 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортирую массив, нечто вроде: a,b,c,d,a,a,d,d  и.т.п

@Iname=sort{$a cmp $b} @Iname;

резултат получается a,a,a,b,c,d,d,d итого около 50000 элемнтов, как можно удалить одинаковые значения?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить одинаковые значения массива?
« Ответ #1 : 06 Июля 2004, 11:57:45 »
@Iname= grep{!$_{$_}++} @Iname;
The documentations is your friend

Оффлайн andrez

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить одинаковые значения массива?
« Ответ #2 : 06 Июля 2004, 12:00:27 »
Большое спасибо

Оффлайн Troum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 71
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить одинаковые значения массива?
« Ответ #3 : 06 Июля 2004, 19:22:43 »
Цитировать
NeoNox:
{!$_{$_}++}


Можно ли попросить "разжевать" это условие?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Как удалить одинаковые значения массива?
« Ответ #4 : 07 Июля 2004, 14:08:40 »
Можно. Создается хеш и проверяется, если хеша с таким именем нет - помещаем значение в массив.
The documentations is your friend

Оффлайн Troum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 71
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как удалить одинаковые значения массива?
« Ответ #5 : 07 Июля 2004, 17:56:34 »
Хитро

Спасибо

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28