最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實現(xiàn)的最大正向匹配算法示例

 更新時間:2017年12月19日 10:42:32   作者:流火星空  
這篇文章主要介紹了PHP實現(xiàn)的最大正向匹配算法,簡單描述了最大正向匹配算法的概念、原理并結(jié)合實例形式分析了php實現(xiàn)與使用最大正向匹配算法的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)的最大正向匹配算法。分享給大家供大家參考,具體如下:

正向最大匹配算法:從左到右將待分詞文本中的幾個連續(xù)字符與詞表匹配,如果匹配上,則切分出一個詞。但這里有一個問題:要做到最大匹配,并不是第一次匹配到就可以切分的 。

函數(shù)中包含三個參數(shù):

$query   查詢詞
$dict    詞典
$max_len 最大長度(這里默認(rèn)值設(shè)置為15)

詞典示例:

$dict = array(
  '腳本之家'=>'腳本之家',
  '腳本下載'=>'腳本下載',
  'JS編程'=>'JS編程'
);

函數(shù)定義:

/*
 * $query 查詢詞
 * $dict 詞典
 * $max_len 最大長度
 */
function extractWords($query,$dict,$max_len=15){
    $feature = "";
    $slen=mb_strlen($query,'UTF8');
    $c_bg = 0;
    while($c_bg<$slen){
      $matched = false;
      $c_len =(($slen-$c_bg)>$max_len)?$max_len:($slen-$c_bg);
      $t_str = mb_substr($query, $c_bg,$c_len,'UTF8');
      for($i=$c_len;$i>1;$i--){
        $ttts = mb_substr($t_str, 0,$i,'UTF8');
          if(!empty($dict[$ttts])){
//          echo 'matched = '.$ttts.PHP_EOL;
            $matched = true;
            $c_bg += $i;
            if(!empty($feature)){
              $feature.=",";
            }
            $feature.=$ttts;
            break;
          }
      }
      if(!$matched){
        $c_bg++;
      }
    }
    echo $feature.PHP_EOL;
}

使用方法:

$query='歡迎訪問腳本之家!腳本之家是國內(nèi)專業(yè)的網(wǎng)站,提供各種腳本下載及JS、Python、php等編程資料';
extractWords($query,$dict);

運行結(jié)果:

腳本之家,腳本之家,腳本下載 

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運算技巧總結(jié)

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • 詳解Laravel制作API接口

    詳解Laravel制作API接口

    API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細(xì)節(jié)。本文將詳細(xì)介紹Laravel制作API接口。
    2021-05-05
  • php+mysqli事務(wù)控制實現(xiàn)銀行轉(zhuǎn)賬實例

    php+mysqli事務(wù)控制實現(xiàn)銀行轉(zhuǎn)賬實例

    這篇文章主要介紹了php+mysqli事務(wù)控制實現(xiàn)銀行轉(zhuǎn)賬,實例分析了事物控制的原理與事物回滾的使用技巧,需要的朋友可以參考下
    2015-01-01
  • 一文詳解php中.env實現(xiàn)原理

    一文詳解php中.env實現(xiàn)原理

    在PHP中,.env文件是一種常見的配置文件格式,用于存儲應(yīng)用程序的環(huán)境變量,本文將給大家大家詳細(xì)的介紹一下php中.env實現(xiàn)原理,文中給出了簡單的示例代碼,需要的朋友可以參考下
    2024-01-01
  • php微信開發(fā)自定義菜單

    php微信開發(fā)自定義菜單

    這篇文章主要為大家詳細(xì)介紹了php微信開發(fā)自定義菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • php保存二進(jìn)制原始數(shù)據(jù)為圖片的程序代碼

    php保存二進(jìn)制原始數(shù)據(jù)為圖片的程序代碼

    得到post過來的二進(jìn)制原始數(shù)據(jù),選擇一個生成路徑及圖片的名字,之后寫入,思路很顯而易見,需要的朋友可以收藏下
    2014-10-10
  • php中html緩存的實現(xiàn)詳解

    php中html緩存的實現(xiàn)詳解

    PHP與HTML中實現(xiàn)緩存可以幫助提高網(wǎng)頁加載速度和減輕服務(wù)器負(fù)載,本文主要為大家詳細(xì)介紹了一些常見的PHP與HTML緩存實現(xiàn)方法,需要的小伙伴可以參考下
    2023-12-12
  • php中unlink()、mkdir()、rmdir()等方法的使用介紹

    php中unlink()、mkdir()、rmdir()等方法的使用介紹

    unlink()函數(shù)刪除文件 、mkdir()函數(shù)創(chuàng)建目錄、rmdir()函數(shù)刪除目錄這些方法在文件相關(guān)的處理方法會經(jīng)常使用到,本文整理了一些,需要的朋友可以了解下
    2012-12-12
  • CodeIgniter圖像處理類的深入解析

    CodeIgniter圖像處理類的深入解析

    本篇文章是對CodeIgniter的圖像處理類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換函數(shù)說明

    PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換函數(shù)說明

    中文字符編碼研究系列第一期,PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制互相轉(zhuǎn)換函數(shù)說明,主要掌握各進(jìn)制轉(zhuǎn)換的方法,以應(yīng)用于實際開發(fā)
    2011-12-12
  • php去掉數(shù)組的第一個值的兩個函數(shù):array_shift、array_splice

    php去掉數(shù)組的第一個值的兩個函數(shù):array_shift、array_splice

    php去掉數(shù)組的第一個值的兩種刪除方法:1、使用array_shift()函數(shù)刪除數(shù)組的第一個值,語法“array_shift($arr)”,會返回被刪除的元素。2、使用array_splice()函數(shù)刪除第一個值,語法“array_splice($arr,0,1);”;該函數(shù)的第二個和第三個參數(shù)可以為負(fù)數(shù)。
    2022-12-12

最新評論

崇明县| 钟山县| 平乐县| 宝应县| 竹溪县| 三明市| 泗水县| 灵山县| 洛阳市| 汶川县| 阿拉尔市| 余江县| 淮北市| 高安市| 马鞍山市| 张家港市| 浮山县| 堆龙德庆县| 临夏县| 璧山县| 新密市| 沙田区| 资兴市| 大连市| 江孜县| 大新县| 当阳市| 佛坪县| 淮南市| 出国| 阿坝| 景泰县| 长顺县| 黄山市| 伊宁县| 兴国县| 行唐县| 威海市| 阿克| 岚皋县| 济宁市|