php 自定义levenshtein 目的:了解levenshtein 算法原理
自定义levenshtein 目的:了解levenshtein 算法原理 [代码片段(38行)]
function _levenshtein($src, $dst){ if (empty($src)) { return $dst; } if (empty($dst)) { return $src; } $temp = array(); for($i = 0; $i <= strlen($src); $i++) { $temp[$i][0] = $i; } for($j = 0; $j <= strlen($dst); $j++) { $temp[0][$j] = $j; } for ($i = 1;$i <= strlen($src); $i++) { $src_i = $src{$i - 1}; for ($j = 1; $j <= strlen($dst); $j++) { $dst_j = $dst{$j - 1}; if ($src_i == $dst_j) { $cost = 0; } else { $cost = 1; } $temp[$i][$j] = min($temp[$i-1][$j]+1, $temp[$i][$j-1]+1, $temp[$i-1][$j-1] + $cost); } } return $temp[$i-1][$j-1]; } echo _levenshtein("hello", "HElloo"); //该片段来自于http://outofmemory.cn
精彩图集
精彩文章