10/10/2018, 00:16
Tìm TỪ lặp lại nhiều nhất trong văn bản.
Chào các bác,
Mình muốn nhờ các bác giải quyết hoặc đưa ra phương án giải quyết công việc như sau:
Có 1 đoạn văn bản bằng tiếng Việt, bây giờ làm cách nào để lọc ra từ xuất hiện nhiều nhất trong đoạn văn bản đó in ra màn hình và sắp xếp theo thứ tự giảm dần.
Rất mong được sự tư vấn và giúp đỡ,
Mình muốn nhờ các bác giải quyết hoặc đưa ra phương án giải quyết công việc như sau:
Có 1 đoạn văn bản bằng tiếng Việt, bây giờ làm cách nào để lọc ra từ xuất hiện nhiều nhất trong đoạn văn bản đó in ra màn hình và sắp xếp theo thứ tự giảm dần.
Rất mong được sự tư vấn và giúp đỡ,
Bài liên quan
[=========> Bổ sung bài viết <=========]
Theo mình nghĩ cách để giải quyết đc vấn đề này sẽ phải là: Lặp trong vòng lặp liên tục??
Không biết có ổn không?
Cách làm của mình là:
Explode ra mảng
Dùng vòng lặp 1 lần đếm số xuất hiện thông qua key,
Sắp lại mảng key và in ra.
$str = "đây mùa thu tới đây mùa thu mùa thu thu";
$stringArr = explode(" ",$str);
$count = array();
foreach($stringArr as $strElement) {
$count***91;$strElement***93;++;
}
foreach($count as $key => $value) {
$countSort***91;***93; = $value;
}
array_multisort($countSort, SORT_DESC, SORT_NUMERIC, $count, SORT_NUMERIC, SORT_DESC);
print_r($count);
$str = "đây mùa thu tới đây mùa thu mùa thu thu";
$stringArr = explode(" ",$str);
$count = array();
foreach($stringArr as $strElement) {
$count***91;$strElement***93;++;
}
foreach($count as $key => $value) {
$countSort***91;***93; = $value;
}
array_multisort($countSort, SORT_DESC, SORT_NUMERIC, $count, SORT_NUMERIC, SORT_DESC);
print_r($count);
function fix($s){
$rd="`~@#$%^&*()_-+={***91;}***93;|\:;\"'<,>.?\/\n";
for($i=0;$i<strlen($s);$i++){
$c=substr($s, $i, 1);
if(strpos($rd, $c)>=0){
$s = str_replace($c, '', $s);
}
}
return $s;
}
Thân mến.
$str = "đây mùa thu tới đây mùa thu mùa thu thu";
$strElement = explode(" ",$str);
array_multisort($strElement, SORT_DESC, SORT_NUMERIC);
print_r(array_count_values($strElement));
$str = "đây mùa thu tới đây mùa thu mùa thu thu";
$strElement = explode(" ",$str);
print_r(array_count_values($strElement));
Thân mến.
array_multisort($strElement, SORT_DESC, SORT_NUMERIC);