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实现图象锐化代码
Jun 14 PHP
PHP生成月历代码
Jun 14 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
Laravel模糊查询区分大小写的实例
Sep 29 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
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
php header功能的使用
2013/10/28 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
js实现简单模态框实例
2018/11/16 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
Python的迭代器和生成器
2015/07/29 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python使用代理ip访问网站的实例
2018/05/07 Python
python学生信息管理系统(初级版)
2018/10/17 Python
详解Python中的测试工具
2019/06/09 Python
Django 批量插入数据的实现方法
2020/01/12 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
人事专员岗位说明书
2014/07/29 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
离婚协议书标准格式
2014/10/04 职场文书
表扬稿格式范文
2015/01/16 职场文书
反腐倡廉观后感
2015/06/08 职场文书
广播体操比赛主持词
2015/06/29 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server