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函数解决SQL injection
Oct 09 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
一些php技巧与注意事项分析
Feb 03 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
第六章 php目录与文件操作
Dec 30 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
php调用c接口无错版介绍
Mar 11 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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 输出简单动态WAP页面
2009/06/09 PHP
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
Python无损压缩图片的示例代码
2020/08/06 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
什么是反射
2012/03/17 面试题
设计顾问服务计划书
2014/05/04 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
数学教师求职信范文
2015/03/20 职场文书
建国大业观后感600字
2015/06/01 职场文书
工作简报范文
2015/07/21 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
护士心得体会范文
2016/01/25 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript