【发布时间】:2015-09-19 04:04:24
【问题描述】:
我们正在尝试将一个字符串与从 mysql 数据库中获取的另一个字符串(即多个字符串)进行匹配。
<?php
$verdeel = explode(" ",strtolower('sony xperia c3 black'));
$getallen =explode(" ",strtolower('Sony Xperia c3 dual sim'));
if(array_intersect($verdeel, $getallen))
{
for($i=0;$i < count($verdeel);$i++){
if($verdeel[$i] == $getallen[$i]){
echo $getallen[$i];
} else {
echo "no match";
}
}
}
?>
在上面的例子中,我们匹配输入字符串“sony xperia c3 black”与第二个字符串“Sony Xperia c3 dual sim”匹配。 第二个字符串可能不止一个 例如“索尼 Xperia c3 双卡”, “索尼 Xperia c3 双卡黑色 1GB 内存”, “索尼 Xperia c3 黑色 1GB 内存”....等
在上面的代码中,如果我们找到任何匹配关键字,那么输出就是那个关键字。 到目前为止,我们是正确的,但是我们需要从找到最大匹配关键字字符串的数据库(一个或多个)中获取的整个字符串,而不是给出匹配关键字(即具有最大匹配关键字的产品名称列表位于顶部,如降序比较产品是我们的主要目的).... 当我们从数据库中选择一个产品名称时比较产品是正确的方法吗?或者你有不同的想法来比较产品的价格。 请建议我正确的方法。 感谢您的合作。
【问题讨论】: