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中extract()函数的定义和用法
Aug 17 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
php修改指定文件后缀的方法
Sep 11 PHP
php中explode函数用法分析
Nov 15 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
Nov 30 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
php接口实现拖拽排序功能
Apr 23 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 PHP
php实现断点续传大文件示例代码
Jun 19 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 setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php常用表单验证类用法实例
2015/06/18 PHP
jquery 指南/入门基础
2007/11/30 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
javascript的函数作用域
2014/11/12 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
Puppet的一些技巧
2018/09/17 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
python SVD压缩图像的实现代码
2019/11/05 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
database面试题
2013/03/28 面试题
入党自我鉴定
2014/03/25 职场文书
读书笔记怎么写
2015/07/01 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android