У меня есть два массива с адресами. Я хочу фильтровать дубликаты по левенштейну.Значение фильтра по Levenshtein Расстояние в PHP
$addresses1 = array (
new Address("Company1", "Person1","Sirname1","Street One", "1", "11111", "City 1"),
new Address("Company1", "Person3","Sirname2","Street Two", "17", "22222", "City 2"),
new Address("Company2", "Person6","Sirname6","Street Three", "11", "33333", "City 3"),);
$addresses2 = array (
new Address("Company1", "Person1","Sirname1","Street One", "1", "11111", "City 1"),
new Address("Company4", "Person7","Sirname7","Street Five", "5", "55555", "City 5"),
new Address("Company3", "Person3","Sirname3","Street Six", "6", "66666", "City 6"));
function compare ($array1, $array2){
$uniqueArray = array();
foreach($array1 as $k1 => $v1) {
foreach($array2 as $k2 => $v2) {
$levenshteinCompany = levenshtein($v1->getCompany(), $v2->getCompany());
print_r ($levenshteinCompany);
if ($levenshteinCompany > 0){
$uniqueArray[] = $v1;
$uniqueArray[] = $v2;
unset($array2[$k2]);
}
}
}
print_r($uniqueArray);
}`
Но у меня есть 3 раза компания1 в моем уникальном массиве.
Как вы ограничивая его с помощью функции Левенштейна? Вы используете произвольное расстояние? –
im используя возвращаемые значения функции php. Я не уверен, что вы имеете в виду. – mk2015