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添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 PHP
Thinkphp极验滑动验证码实现步骤解析
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
js代码实现微博导航栏
2015/07/30 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
javascript实现点击星星小游戏
2019/12/24 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
python web框架中实现原生分页
2019/09/08 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
查看keras的默认backend实现方式
2020/06/19 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
大学总结自我鉴定
2014/01/18 职场文书
搞笑爱情保证书
2014/04/29 职场文书
团支部建设方案
2014/05/02 职场文书
大连导游词
2015/02/12 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
python通过函数名调用函数的几种方法总结
2021/06/07 Python
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL