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

Форум PHP

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

 

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

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

тема: Одинаковые элементы в массиве
 
 автор: ans   (03.11.2008 в 16:06)   письмо автору
 
 

Привет всем. Как найти количество одинаковых чисел в массиве например
 $arr = array(38, 2, 5, 23, 2, 2, 20, 36);

  Ответить  
 
 автор: ans   (03.11.2008 в 16:38)   письмо автору
 
   для: ans   (03.11.2008 в 16:06)
 

в поиске искал но там немного нето(

  Ответить  
 
 автор: Root   (03.11.2008 в 16:47)   письмо автору
 
   для: ans   (03.11.2008 в 16:38)
 

http://php.net/array_count_values

  Ответить  
 
 автор: ans   (03.11.2008 в 16:53)   письмо автору
 
   для: Root   (03.11.2008 в 16:47)
 

как тогда сделать чтобы выводило не все элементы массива как щас

Array ( [38] => 1 [2] => 3 [5] => 1 [23] => 1 [20] => 1 [36] => 1 ) 


а только те где есть одинаковые?

  Ответить  
 
 автор: Root   (03.11.2008 в 16:59)   письмо автору
 
   для: ans   (03.11.2008 в 16:53)
 

<?php
function array_repeated($array)
{
    if ( !
is_array($array) ) {
        return 
false;
    }
    
$duplicates = array();
    foreach ( 
$array as $key => $val ) {
        
end($array);
        
$k key($array);
        
$v current($array);
        
        while ( 
$k !== $key ) {
            if ( 
$v === $val ) {
                
$duplicates[$key] = $v;
            }
            
            
$v prev($array);
            
$k key($array);
        }
    }
    return 
$duplicates;
}
?>

  Ответить  
 
 автор: Drago   (03.11.2008 в 19:46)   письмо автору
 
   для: ans   (03.11.2008 в 16:53)
 


<?php
$arr 
= array(382523222036);
$repeated array_filter(array_count_values($arr), create_function('$v''return ($v > 1);'));
print_r($repeated);
?>

  Ответить  
 
 автор: ans   (03.11.2008 в 23:01)   письмо автору
 
   для: Drago   (03.11.2008 в 19:46)
 

Всем спасиюо

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

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