PHP中多个单词的字符串比较

时间:2015-03-17 15:05:49

标签: php string comparison

我还在处理我的图书馆数据库。

使用PHP,如何将字符串与不同顺序的多个单词进行比较,例如Gaius Julius CaesarCaesar Gaius Julius,看看它们是否匹配?在比较之前,将删除逗号,短划线,双空格等。

要将字符串放入两个数组中,并检查in_array()第一个元素的每个元素是否包含在第二个数组中,对于单个字符串可能是一个合理的解决方案,但这似乎是浪费CPU用于检查MariaDB表中5,000多个名称的列表(5,000×5,000 = 25,000,000个比较)。

建议?

1 个答案:

答案 0 :(得分:1)

这样做:

$a = "Gaius Julius Caesar";
$b = "Caesar Gaius Julius Putin";
$ar1 = explode(' ', $a);
$ar2 = explode(' ', $b);
$ar3 = array_intersect($ar1, $ar2);
print_r($ar3);

产量

Array ( [0] => Gaius [1] => Julius [2] => Caesar )

看看它们是否匹配 - 只需比较它们的count()