在数组里面找相似度最高的。

在数组里面找相似度最高的

$temp_name='["EMS","EMS经济快递","申通快递(STO)","圆通速递(YTO)","韵达快递","宅急送","FedEx","中通快递(ZTO)","百世快递","天天快递","顺丰速运","德邦","中铁物流","天地华宇","龙邦速递","快捷快递","优速快递","全日通快递","全峰快递","新邦物流","佳吉快运","佳怡物流","盛辉物流","速尔物流","百世物流","国通快递","邮政国内小包","德邦快递","远成快运","壹米滴答","中通快运","信丰物流","安能物流","跨越速运","韵达快运","顺心捷达","速腾快递"]';
	$temp_name=json_decode($temp_name,true);
	$kd_name=similar($temp_name,$kd_name);
	//也可以用
	if(!in_array($kd_name,$temp_name)){
		  show_message("$kd_name 没有匹配到正确的名称,请联系网站客服修改即可导出!");
	  }	 

//查最相似的
function similar($array,$name){
    //数组key小于1,直接返回,不符合排序要求(特例,可不写)
    if(count($array)<= 1){
        return $array;
    }
    //数组处理
    foreach ($array as $key => $value) {
        similar_text($value, $name,$percent);
        $percent = intval($percent);

        $data[$percent] = $value;
    }
    //倒叙
    krsort($data);
    //得分最高的一个
    $new_data=array_shift($data);
    return $new_data;
}

你可能感兴趣的:(PHP)