比较两个字符串并找到多个匹配项

Compare two strings and find multiple matches

我有两个要比较的字符串和 return 找到的出现次数。

例如

$string = "123,456,789";

$find = "123,657,456";

如果函数正确,这应该 return "2"

我试过了

echo substr_count($string,$find);

其中 return 是“0”,但是如果 $find = “123” 那么它将 return “1”

我知道如果我使用循环并分别检查每 3 个数字我可以做到这一点,但我想避免使用循环以提高可读性(我已经使用了很多循环)。

是否可以使用任何现有功能或一个衬里?还是我必须创建自己的辅助函数或循环?

易于使用数组:

echo count(array_intersect(explode(',', $string), explode(',', $find)));