Показать сообщение отдельно

  #11  
Старый 19.11.2007, 19:00
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами: 10037186

Репутация: 1462
По умолчанию

Цитата:
Сообщение от [x26]VOLAND  
Нужно вычислить количество повторений каждого имени
возможно очень далеко не идеальный выход но кол-во повторений можно посчитать:

например SELECT имён в массив , затем сравнивание по циклу ( если имя[i] = имя[j] , тогда счётчик для nameCount[i]++ , а имя[j] удалить из массива... unset(); (чтоб его еще раз не сравнивать)... в итоге получим массив без одинаковых элементов и сопоставленными цифрами повторений...

пример кода (возможно полностью кривой ,но что-то вроде этого (давно я на php не кодил...) )
Код:
$counter = array();
$ath = mysql_query( // select имён
while($names = mysql_fetch_array($ath)){ //в массив
}

for (i = 0 ; i <= count($names); i++){
  for (j = i ; i <= count($names); j++){

   if( $names[j] == $names[i]){
$counter[i] += 1;
unset($names[j]);
}

}
}
получаем "колонки" $names , и $counter ,
например echo("$names[1] - $counter[1] - совпадений");
а чтоб упорядочить по убыванию можно в обьединить один массив а потом ksort($имя массива...)
 
Ответить с цитированием