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 相关文章推荐
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
php网页后退不再出现过期
Mar 08 PHP
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php使用百度天气接口示例
Apr 22 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP实现登录验证码校验功能
May 17 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 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
第十二节--类的自动加载
2006/11/16 PHP
PHP数字格式化
2006/12/06 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
详解JavaScript ES6中的Generator
2015/07/28 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
Python 模板引擎的注入问题分析
2017/01/01 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
python opencv实现图像配准与比较
2021/02/09 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
创联软件面试题笔试题
2012/10/07 面试题
学习委员自我鉴定
2014/01/13 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
2014年维修工作总结
2014/11/22 职场文书
产品调价通知函
2015/04/20 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP