久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP實現的字符串匹配算法示例【sunday算法】

這篇文章主要介紹了PHP實現的字符串匹配算法,簡單描述了sunday算法的概念與原理,并結合實例形式分析了php基于sunday算法實現字符串匹配操作相關技巧,需要的朋友可以參考下

本文實例講述了PHP實現的字符串匹配算法————sunday算法。分享給大家供大家參考,具體如下:

Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是:在匹配過程中,模式串發現不匹配時,算法能跳過盡可能多的字符以進行下一步的匹配,從而提高了匹配效率。


<?php
/*
 *@param $pattern 模式串
 *@param $text 待匹配串
 */
function mySunday($pattern = '',$text = ''){
  if(!$pattern || !$text) return false;
  $pattern_len = mb_strlen($pattern);
  $text_len = mb_strlen($text);
  if($pattern_len >= $text_len) return false;
  $i = 0;
  for($i = 0; $i < $pattern_len; $i++){ //組裝以pattern中的字符為下標的數組
    $shift[$pattern[$i]] = $pattern_len - $i;
  }
  while($i <= $text_len - $pattern_len){
    $nums = 0;   //匹配上的字符個數
    while($pattern[$nums] == $text[$i + $nums]){
      $nums++;
      if($nums == $pattern_len){
        return "The first match index is $i\n";
      }
    }
    if($i + $pattern_len < $text_len && isset($shift[$text[$i + $pattern_len]])){ //判斷模式串后一位字符是否在模式串中
      $i += $shift[$text[$i + $pattern_len]];   //對齊該字符
    }else{
      $i += $pattern_len;   //直接滑動pattern_len位
    }
  }
}
$text = "I am testing mySunday on sunday!";
$pattern = "sunday";
echo mySunday($pattern,$text);

運行結果:


The first match index is 25 

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

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

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

本文講述了php中json_encode處理gbk與gb2312中文亂碼問題的解決方法,具體方法如下: 1.json_encode()中文在gbk/gb2312中對中文返回為null $arr = array (??array (?? ?'catid' = '4',?? ?'catname' = 'www.gen
php中求三個數中最大值的實例代碼如下,希望能夠幫到需要的朋友 ?php//求三個數中的最大值function maxNum($x,$y,$z){ return $x$y ? ( $x$z ? $x : $z ) : ($y$z ?$y :$z);}echo maxNum(35,26,118);? 也可以通過下面
下面小編就為大家分享一篇解決PHP字符串長度不一致的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP讓數組中有相同值的組成新的數組實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇詳談PHP中public,private,protected,abstract等關鍵字的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了關于php中通用的excel導出方法的相關資料,通過文中介紹的方法對大家學習或者使用php具有一定的參考學學習價值,需要的朋友們下面隨著小編來一起學習學習
主站蜘蛛池模板: 欧美一级电影免费 | 久久免费精品 | www免费视频| 免费在线黄色av | 五月婷婷在线视频 | 中文字幕亚洲一区二区三区 | 亚洲电影中文字幕 | 日韩高清一区二区 | 久久这里只有精品首页 | 亚洲精品www. | 1区2区3区视频 | 毛片免费看 | 毛片免费看 | 91看片官网 | 在线黄| 色婷婷av久久久久久久 | 污污免费网站 | 国产这里只有精品 | 亚洲免费精品 | 青青草中文字幕 | 欧美不卡视频一区发布 | 美女日皮网站 | 国产精品久久久一区二区三区 | 欧美一区二区三区久久精品视 | 国产亚洲成av人片在线观看桃 | 欧美黄色一区 | 国产精品视频一区二区三 | 欧美日韩国产在线观看 | www.av在线 | 草久在线视频 | 亚洲国产成人精品在线 | 亚洲成av人影片在线观看 | 亚洲国产一区在线 | 日韩av在线一区二区 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品成人在线 | 蜜桃视频一区二区三区 | av天天干| 天天干天天干 | 亚洲婷婷一区 | 国产三级 |