PHP Микрофункция аналог array_count_values

Сергей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.11.2010

Добрый день уважаемые коллеги, затык, надеюсь поможете за небольшую сумму.

Есть массив среднего размера состоящий из элементов отпарсенных из обычного HTML,

переведенного из различных кодировок в UTF8

Далее с ним совершаются следующие действия.

$pieces=array_count_values($pieces);

$pieces=arsort($pieces,SORT_NUMERIC);

$pieces=array_keys($pieces);

Что по логике должно приводить к сортировке слов в массиве по частоте его появления.

Но array_count_values возвращает нулевой массив.

При этом тест на произвольных данных работает без проблем.

set_time_limit (600);

$A=array("0", "1", "2", "3", "4", "5", "6","7","8","9","-",".","@","_"," ","@",

"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",

"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","х","ш","щ","у","ц","ф","ы","э","ю","ь","ч","я");

$c=count($A);

for ($i = 0; $i

{

$num=rand(0, $c-1);

$ch1=$A[$num];

$num=rand(0, $c-1);

$ch2=$A[$num];

$num=rand(0, $c-1);

$ch3=$A[$num];

$B[]=$ch1.$ch2.$ch3;

}

// print_r($B);

unset($C);

$c=count($B);

$B=array_count_values($B);

$garbage=arsort($B,SORT_NUMERIC);

$B=array_keys($B);

print_r($B);

Подозрения падают на то что функция вылетает так как в ключ пишется значение которое там быть не должно, php удивляется и обнуляет массив.

Нужно написать функцию которая будет замещать верхние три строчки аналогичный код без array_count_values.

Бюджет до 150 рублей, ибо простое задание)))

Также было бы решением по этому заданию дать (первое рабочее решение оплачивается) мысль которая приведет к работе моего трехстрочного кода на моих данных без программированию какой-то другой функции.

Благодарю за внимание

Заявки фрилансеров