在 PHP 中,如何比较两个“相似”的数据?例如,在这段代码中:
$a = "cats are cool";
$b = "1. catS are cool!!!"
if($a == $b) {
echo "TRUE";
}
else {
echo "FALSE";
}
现在明显的输出将是“FALSE”。但是对于我想要实现的目标,只要关键字“猫很酷”在 中$b
,结果应该是“真”。我该怎么做呢?
在 PHP 中,如何比较两个“相似”的数据?例如,在这段代码中:
$a = "cats are cool";
$b = "1. catS are cool!!!"
if($a == $b) {
echo "TRUE";
}
else {
echo "FALSE";
}
现在明显的输出将是“FALSE”。但是对于我想要实现的目标,只要关键字“猫很酷”在 中$b
,结果应该是“真”。我该怎么做呢?
如果您正在寻找完全匹配,请使用stripos()
.
//Note the use of !== here, it's because stripos may return 0,
//Which would be interpreted as false without strict comparison.
if (stripos($string, "cats are cool") !== false) {
//Cats are cool indeed.
}
您必须定义自己的逻辑,周期。要么你寻找关键字[例如你搜索你的白名单在你的字符串中出现了多少次],要么你计算一些字符串距离度量,比如Levenshtein distance。
如果您应该在第二个中找到第一个字符串,您可以使用strpos
采用stripos()
if(stripos($b,$a) !== FALSE)
echo "found";
else
echo "not found";