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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
一个ubbcode的函数,速度很快.
Oct 09 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php Undefined index的问题
Jun 01 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
PHP入门之常量简介和系统常量
May 12 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
Yii配置文件用法详解
Dec 04 PHP
深入php内核之php in array
Nov 10 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 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
PHP4实际应用经验篇(5)
2006/10/09 PHP
基于php缓存的详解
2013/05/15 PHP
浅谈php扩展imagick
2014/06/02 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python学习笔记之if语句的使用示例
2017/10/23 Python
mac系统安装Python3初体验
2018/01/02 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
利用python绘制正态分布曲线
2021/01/04 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
省级优秀毕业生主要事迹
2014/05/29 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年路政工作总结
2015/05/22 职场文书
公司管理制度范本
2015/08/03 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python