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 相关文章推荐
支持oicq头像的留言簿(一)
Oct 09 PHP
需要发散思维学习PHP
Jun 29 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php实现文件编码批量转换
Mar 10 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
php实现通过ftp上传文件
Jun 19 PHP
php微信开发之音乐回复功能
Jun 14 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 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/10/08 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
javascript模块化简单解析
2016/04/07 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
python实现的一个火车票转让信息采集器
2014/07/09 Python
python中的sort方法使用详解
2014/07/25 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
python批量创建指定名称的文件夹
2019/03/21 Python
在Python中表示一个对象的方法
2019/06/25 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
社区母亲节活动方案
2014/03/05 职场文书
公司应聘自荐书
2014/06/14 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
雷锋之歌观后感
2015/06/10 职场文书
2016新年年会主持词
2015/07/06 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
详解TypeScript的基础类型
2022/02/18 Javascript
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
一条 SQL 语句执行过程
2022/03/17 MySQL
什么是css原子化,有什么用?
2022/04/24 HTML / CSS