0
我在數組中有一組tweet文本。我正在嘗試查看這些文本中出現特定詞語的次數。substr_count每個循環的雙精度值
但它不只是一個單詞,而是從外部文件加載的單詞數組。對於每個字都需要計數。
<?php
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);
$poswords = file('positive.csv');
$array = array("value", "bar", "ACCOMPLISHES", "valveworld", "able I am not bladiebla");
$count = 0;
foreach ($poswords as $posword) {
foreach ($array as $value) {
$count += substr_count(strtolower($value), strtolower($posword));
}
echo "Word: ".strtolower($posword)." Count: ".$count."</br>";
}
//return $count;
?>
所以首先我加載單詞列表。然後我有一個名爲$ array的文本數組。然後我在每個單詞和每個單詞之間循環,檢查該單詞是否出現在具有第二個循環的文本中。 然後對於每個循環,我都會迴應該單詞的計數。
當U strtolower($ posword)它總是導致0沒有mather我做什麼。當我將它改爲一個單詞時,例如「價值」,我得到更高的計數。然後它將每個單詞+1加到count變量中。
有人可以弄清楚我做錯了什麼?提前致謝。
P.S:最終目標是從發生的單詞中創建標籤雲。
首先感謝您的迴應。我實現了自己的方式並進行了測試,但每個單詞仍然會產生0個結果,同時它也會出現在其中一個單詞上,因爲它也在列表中。我正在使用的列表是:http://www3.nd.edu/~mcdonald/Data/Finance_Word_Lists/LoughranMcDonald_Positive.csv可能是什麼問題? – Emrulez
這可能是一個空白問題。查看有關修剪'$ poswords'中的字符串並將它們轉換爲小寫字符的建議更新。 –
Ahh我沒有那樣做:實現新的代碼導致這個錯誤:strtolower()期望只有1個參數,2給出的仍然是零。但使用以前的代碼與此更改似乎工作:$ poswords = file('positive.csv',FILE_IGNORE_NEW_LINES); – Emrulez