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

Форум PHP

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

 

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

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

тема: Как подсчитать количество уникальных почтовых адресов?
 
 автор: Владимир55   (17.10.2007 в 13:30)   письмо автору
 
 

В переменной $adr имеется список электронных адресов, отделенных пробелом один от другого. Адреса расположены в произвольном порядке и некоторые адреса встречаются многократно. Как можно подсчитать, сколько всего уникальных адресов (сколько подписчиков оставили свои адреса)?

   
 
 автор: KPETuH   (17.10.2007 в 13:36)   письмо автору
 
   для: Владимир55   (17.10.2007 в 13:30)
 

заносим в массив... патом есть функция каторая как я называю схлапывают массив тоесть показывает только не совпадающие имена :) читаем кароче работу с массивами...

   
 
 автор: Владимир55   (17.10.2007 в 13:51)   письмо автору
 
   для: KPETuH   (17.10.2007 в 13:36)
 

Что-то я такой функции в Самоучителе по ее описанию не обнаружил.

Вы что конкретно имели в виду?

   
 
 автор: Leab   (17.10.2007 в 13:55)   письмо автору
 
   для: Владимир55   (17.10.2007 в 13:51)
 

Может in_array поможет
Кроме самоучителя есть еще офф мануал.в него тоже полезно иногда заглядывать.

   
 
 автор: Владимир55   (17.10.2007 в 14:05)   письмо автору
 
   для: Leab   (17.10.2007 в 13:55)
 

Признаться, я не понял, какая польза от in_array...

Похоже, что проще "ручной" селекции ничего не сыщется.

   
 
 автор: Unkind   (17.10.2007 в 14:08)   письмо автору
 
   для: Владимир55   (17.10.2007 в 14:05)
 

<?php
$string 
'a a b c';
$string implode(' 'array_unique(explode(' '$string))); //a b c
?>


Я надеюсь...Это не спам? >:)

   
 
 автор: cheops   (17.10.2007 в 14:17)   письмо автору
 
   для: Владимир55   (17.10.2007 в 13:30)
 

1) Разбиваем содержимое переменной в массив при помощи функции explode()
<?php
  $arr 
explode(" "$adr);
?>

2) Убираем дубликаты при помощи функции array_unique()
<?php
  $arr 
array_unique($arr);
?>

3) Подсчитываем количество элементов в массиве при помощи функции count()
<?php
  
echo count($arr);
?>

   
 
 автор: Владимир55   (17.10.2007 в 14:59)   письмо автору
 
   для: cheops   (17.10.2007 в 14:17)
 

Здорово как!

Большое спасибо!

(Разумеется, никакого отношения к спаму это действие не имеет. Это я так сделал черновой вариант подписки на новости сайта , чтобы посмотреть, будут ли люди подписываться. Позже сделаю проверку на уникальность.)

   
 
 автор: SoloNifer   (17.10.2007 в 14:25)   письмо автору
 
   для: Владимир55   (17.10.2007 в 13:30)
 

Вот мой вариант!


$adr = array( 'asd@gmail.com' , 'dfsg@gmail.com' , 'dfsg@gmail.com' , 'cvxbz@gmail.com' , 'jy45@gmail.com' );
$adr2 = array();
foreach ($adr as $value) {
    if ( !in_array($value, $adr2) ){
        array_push($adr2, $value);
        }
    }
echo count($adr2);


тут мы получаем, как новый array с уникальными значениями [arr2], так и кол-во адресов, то есть отправителей в данном случае.

   
 
 автор: Владимир55   (17.10.2007 в 14:59)   письмо автору
 
   для: SoloNifer   (17.10.2007 в 14:25)
 

Спасибо!

   
Rambler's Top100
вверх

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