2011-10-02 4 views
0

Так что я еду на велосипеде через документ с 41 абзацем. Для каждого абзаца я пытаюсь [1] сначала разбить строку на массив, а затем получить частоту слов в параграфе. Затем я хочу объединить данные из всех абзацев и получить частоту слов всего документа.слияние массивов и частота слов

Я могу получить массив, который дает мне «слово» и его «частоту» для заданного картографа, но у меня возникают проблемы с объединением результатов из каждого абзаца, чтобы получить «частоту слов целого» . документ Вот что у меня есть:

function sectionWordFrequency($sectionFS) 
{ 
$section_frequency = array(); 
$filename = $sectionFS . ".xml"; 
$xmldoc = simplexml_load_file('../../editedtranscriptions/' . $filename); 
$xmldoc->registerXPathNamespace("tei", "http://www.tei-c.org/ns/1.0"); 
$paraArray = $xmldoc->xpath("//tei:p"); 

foreach ($paraArray as $p) 
{ 
$para_frequency = (array_count_values(str_word_count(strtolower($p), 1))); 
$section_frequency[] = $para_frequency; 
} 


return array_merge($section_frequency); 
} 

/// now I call the function, sort it, and try to display it 
$section_frequency = sectionWordFrequency($fs); 
ksort($section_frequency); 

foreach ($section_frequency as $word=>$frequency) 
{ 
echo $word . ": " . $frequency . "</br>"; 
} 

Сейчас результат я получаю:

1: Array 2: Array 3: Array 4: Array

Любая помощь очень ценить д.

ответ

0

Попробуйте заменить эту линию

$section_frequency[] = $para_frequency; 

с этим

$section_frequency = array_merge($section_frequency, $para_frequency); 

, а затем

return $section_frequency 
+0

это хороший и умный. Я думаю, это сработало. Thanks – Jeff

+0

Рад помочь вам. –

 Смежные вопросы

  • Нет связанных вопросов^_^