Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Количество вхождений в массив.
 
 автор: Aidaho   (19.08.2011 в 21:28)   письмо автору
 
 

Доброе время суток. Помогите разобраться как сделать.
Есть например массив состоящий из набора цифр
array = (1,2,3,1,5,12,10,5)

и так далее
так вот, как в нем подсчитать количество повторяющихся элементов?
т.е. что бы я знал что элемент 1 повторяется 2 раза, элемент 2 - 1 раз и так далее.

  Ответить  
 
 автор: cheops   (19.08.2011 в 21:36)   письмо автору
 
   для: Aidaho   (19.08.2011 в 21:28)
 

Для этого удобно воспользоваться специальной функцией array_count_values().

  Ответить  
 
 автор: Aidaho   (19.08.2011 в 21:54)   письмо автору
 
   для: cheops   (19.08.2011 в 21:36)
 

Спасибо )
как раз за пару минут до этого нашел эту функцию. Только что то не понятно, как она работает. Пытаюсь из базы достать, а мне в ответ ошибка Достаю так:
    $q = "select tag_id from post_tag";
    $res = mysql_query($q) or die(mysql_error())
    $tegs = mysql_fetch_array($res);
        $count = array_count_values($tegs);



а ошибка такая:
Warning: array_count_values() [function.array-count-values]: The argument should be an array in

и через цикл пытался прогонять, так же.

  Ответить  
 
 автор: cheops   (19.08.2011 в 22:52)   письмо автору
 
   для: Aidaho   (19.08.2011 в 21:54)
 

Хм... вероятно ему не нравится ассоциативный массив, попробуйте вместо mysql_fetch_array() использовать mysql_fetch_row().

>и через цикл пытался прогонять, так же.
Что имеется в виду? Вы хотите прогонять содержимое одной строки или содержимое таблицы? Если последнее, то лучше сформировать в цикле промежуточный массив и обработать его при помощи array_count_values() уже после цикла.

  Ответить  
 
 автор: Valick   (19.08.2011 в 22:55)   письмо автору
 
   для: cheops   (19.08.2011 в 22:52)
 

может сразу запросом получить результат? :)

$q = "SELECT tag_id, COUNT(tag_id) t FROM post_tag GROUP BY tag_id";
$res = mysql_query($q) or die(mysql_error());
while($tegs = mysql_fetch_assoc($res)){
   echo $tegs[tag_id]." ".$tegs[t]."<br />";
}


а потом еще и так
$q = "SELECT tag_id, COUNT(tag_id) t FROM post_tag GROUP BY tag_id ORDER BY t";

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования