php中最简单的字符串匹配算法

yipeiwu_com5年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

openPNE常用方法分享

复制代码 代码如下: <?php include_partial('sidemenu',array('form'=>'asdfgasgsad'));?>这句话意思是包含...

php图片加中文水印实现代码分享

例1 复制代码 代码如下: <?php Header("Content-type: image/png"); /*通知浏览器,要输出图像*/ $im = imagecreate(4...

PHP pthread拓展使用和注意点

一. 线程的创建和使用1. Thread类基本的创建和使用:<?php //通过继承Thread类来实现自己的线程类MyThread class MyThrea...

zend Framework中的Layout(模块化得布局)详解

1.首先修改application配置文件resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"指定布局文件的...

PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)

本文实例讲述了PHP自定义函数用法。分享给大家供大家参考,具体如下: Demo1.php <?php //标准函数,内置函数 echo md5('123456'...