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程序设计有所帮助。

相关文章

Laravel SQL语句记录方式(推荐)

Laravel SQL语句记录方式(推荐)

打印sql语句,直接在你执行SQL语句后输出 方法一:  $queries = DB::getQueryLog();  $a = end($queries); &n...

php关联数组与索引数组及其显示方法

数据 username password test 123456 关联数组: mysql_fetch_assoc() array([username]=>'test...

PHP实现的下载远程图片自定义函数分享

复制代码 代码如下: <?php /**  * PHP下载远程图片到本地  *  * @param $url string 远程文件地址 &n...

PHP类中Static方法效率测试代码

类的定义如下: 复制代码 代码如下: class test { public static function a(){} public function b(){} } $obj = n...

微信公众平台开发关注及取消关注事件的方法

本文实例讲述了微信公众平台开发关注及取消关注事件的方法。分享给大家供大家参考。具体分析如下: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发...