Screamer (16.12.2012 / 23:57)Не, там никаких циклов и тем более вторых массивов не нужно.
$arr =explode(' ', $str);
Далее обходишь массив циклом, и пишешь в другой массив слова, где ключ само слово, а значение количество повторений, если слово имеется прибавляешь к значению 1. Незабудь уд
Все можно сделать одной строкой:
$result = array_count_values(explode(' ', $str));$str - исходный текст
$result - массив 'слово' => 'сколько_раз_встречается'
Насчет удаления лишних символов (типа знаков препинания) правильное замечание.