国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-05-05 00:01:31
字體:
來源:轉載
供稿:網友

本文實例講述了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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 鹰潭市| 灌云县| 舞阳县| 东光县| 中江县| 永康市| 赤城县| 博罗县| 岢岚县| 华宁县| 盐池县| 新河县| 昌乐县| 南城县| 谢通门县| 北碚区| 丽江市| 阿合奇县| 昭平县| 金溪县| 宜兰县| 芒康县| 永济市| 巫溪县| 青海省| 仪陇县| 滦南县| 仙游县| 蓬溪县| 上杭县| 濉溪县| 大田县| 汤阴县| 永胜县| 清镇市| 荆州市| 新巴尔虎右旗| 峨边| 大城县| 尼勒克县| 纳雍县|