Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中递归替换字符直到满足条件?_Php_Recursion_Replace_Str Replace_Variations - Fatal编程技术网

在php中递归替换字符直到满足条件?

在php中递归替换字符直到满足条件?,php,recursion,replace,str-replace,variations,Php,Recursion,Replace,Str Replace,Variations,下面是我在PHP中得到的信息 可以有一个或多个“-”的未知字符串。例如: 23ys-824384-hgg32-324-2444h 我试图找到另一个未知字符串的可能匹配项,该字符串可能比原始字符串的“-”更少。不过,他们需要相同的角色 所以:23ys824384-hgg32-324-2444h是匹配的。 23ys84384-hgg32-324-2444h不是(缺少“2”) 我正在使用similor\u text进行匹配(因为我也需要相对匹配) 我可以做一系列的if's并完成工作。但这些可能很多。

下面是我在PHP中得到的信息

可以有一个或多个“-”的未知字符串。例如:

23ys-824384-hgg32-324-2444h
我试图找到另一个未知字符串的可能匹配项,该字符串可能比原始字符串的“-”更少。不过,他们需要相同的角色

所以:23ys824384-hgg32-324-2444h是匹配的。 23ys84384-hgg32-324-2444h不是(缺少“2”)

我正在使用
similor\u text
进行匹配(因为我也需要相对匹配)

我可以做一系列的if's并完成工作。但这些可能很多。因此,我想知道是否有人可以看到一种递归的方法来做这件事(我确信没有看到)。基本上是一种“尝试”该字符串的所有不同组合而不使用“-”的方法。因此:


想法?:)非常感谢您的帮助。使用PHP

您只需从每个字符串中删除所有
-
,然后比较:

str_replace('-', '', $string1) == str_replace('-', '', $string2)

为什么不从两个字符串中删除
-
并与
=
进行比较?你是对的,我觉得自己很笨:)
str_replace('-', '', $string1) == str_replace('-', '', $string2)