檢測出現字串出現次數最多的字元
阿新 • • 發佈:2018-11-15
講真,我以為這個可以用來做搜尋引擎的前置部分,結果忘了表的存在。難受~~~
/** * @param $sth 需要檢測的變數值 * @param int $sublen 被檢測片語的長度 * @return string */ function easyhandle($sth,$sublen=1){ //簡單處理變數 if(gettype($sth)=='resource'||gettype($sth)=='object'){ return 'The data type is required to be an array or a string!'; } if(is_array($sth)){ foreach ($sth as $k =>$v){ $arr[]=$v; } returnstr($arr); }else if(is_string($sth)){ for($i=0;$i<strlen($sth);$i++) { $arr[]=mb_substr($sth,$i,$sublen); //切割存入陣列 } $uniqueArr = array_unique($arr); foreach ($uniqueArr as $k=>$v) { $temp = mb_substr_count($sth,$v); //字串對應次數 $strexptime[$v] = $temp; } returnstr($strexptime); } } function returnstr($arr) { $maxstr=''; foreach ($arr as $k => $v) { if($v==max($arr)) { $maxstr .= $k.','; } } $checkeqv = count(explode(',',$maxstr))-1; if($checkeqv>1) { $maxstr = implode(',',explode(',',$maxstr)); } $str = '出現次數最多的是'.$maxstr.'次數為'.max($arr); var_dump($str); } $sth='lalalademaxiya'; easyhandle($sth,1);
熱搜表hot_search,就需要加一個recordtime(int)的欄位就好了,頂多做下分詞。
喝口水冷靜一下,還是不服。
唔,然後預設一個時間段time,當前時間段中輸入量的佔比,然後佔比越大越靠前或者字型越大,我去,感覺像是某牙的彈幕顯示了。