php中最简单的字符串匹配算法


Posted in PHP onDecember 16, 2014

本文实例讲述了php中最简单的字符串匹配算法。分享给大家供大家参考。具体实现方法如下:

<?php 

/* 

最简单字符串匹配算法php实现方式 

 

T: ababcabc 

P: abc 

 

0.          1.          2. 

ababcabc    ababcabc    ababcabc 

|||          |||          ||| 

abc          abc          abc 

(X)          (X)          (O) 

 

3.          4.          5. 

ababcabc    ababcabc    ababcabc 

    

|||          |||          ||| 

    

abc          abc          abc 

    

(X)          (X)          (O) 

*/ 

 

$str="ababcabc"; 

$search="abc"; 

 

$strlen=strlen($str); 

$searchlen=strlen($search); 

 

//1.遍历$str字符串 

for($i=0;$i<$strlen;$i++){ 

    if($i+$searchlen>$strlen){ 

        echo '超出长度';break; 

    } 

 

    $match=true; 

 

     

//2.遍历要搜索的字符串$search,进行对比 

    for($j=0;$j<$searchlen;$j++){ 

 

        if($str[$i+$j]!=$search[$j]){ 

            $match=false; 

            break; 

        } 

        $k=$i+$j; 

        if($match){ 

            if($j==$searchlen-1){ 

                echo "{$str}第{$i}个位置开始为{$search}\n";break; 

            }

        } 

    } 

} 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php 特殊字符处理函数
Sep 05 PHP
apache mysql php 源码编译使用方法
May 03 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP钩子实现方法解析
May 21 PHP
php实例化一个类的具体方法
Sep 19 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 #PHP
php输出金字塔的2种实现方法
Dec 16 #PHP
smarty缓存用法分析
Dec 16 #PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 #PHP
smarty表格换行实例
Dec 15 #PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 #PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 #PHP
You might like
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python collections模块的使用方法
2020/10/09 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
AJAX的全称是什么
2012/11/06 面试题
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
2015年加油站工作总结
2015/05/13 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang