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

Php 比较两个字符串并找到多个匹配项,php,string,find,Php,String,Find,我有两个字符串要比较并返回找到的出现次数 比如说 $string = "123,456,789"; $find = "123,657,456"; 如果使用正确的函数,则应返回“2” 我试过了 echo substr_count($string,$find); 返回“0”,但如果$find=“123”,则返回“1” 我知道如果我使用循环并分别检查每个3位数字,我可以做到这一点,但我希望避免使用循环以允许可读性(我已经使用了很多循环) 如果这在任何现有函数或一行程序中都是可能的?还是必须创建自

我有两个字符串要比较并返回找到的出现次数

比如说

$string = "123,456,789";

$find = "123,657,456";
如果使用正确的函数,则应返回“2”

我试过了

echo substr_count($string,$find);
返回“0”,但如果$find=“123”,则返回“1”

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

如果这在任何现有函数或一行程序中都是可能的?还是必须创建自己的助手函数或循环?

轻松使用数组:

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

太棒了,正是我需要的。如果没有分隔符,我怎么能做同样的事情?@moj如果没有delimeter,你如何区分数字?@HankyPanky我不确定。如果我的find字符串是3个字符,Abracadver提供的代码就可以完美地工作,但有时它们是两个字符,并且什么也找不到。为什么不呢?此代码不依赖于字符串大小,只要它们都包含逗号分隔的值。即使每个元素有1或1000个元素,它也可以正常工作