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

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

相关文章

PHP十六进制颜色随机生成器功能示例

本文实例讲述了PHP十六进制颜色随机生成器功能。分享给大家供大家参考,具体如下: <?php function randomColor() { $str = '#'...

PHP生成唯一订单号

在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是...

PHP之十六个魔术方法详细介绍

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括: __construct(),类的构造函数...

php中比较简单的导入phpmyadmin生成的sql文件的方法

我们知道很多在网上下载的论坛或者个人博客程序都有安装的页面,要制作这样的安装程序就需要用到sql文件创建数据库。 只对phpmyadmin导出的sql文件有效 复制代码 代码如下: $d...

将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组。 复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ), ...