在 PHP 中将 levenshtein 与 in_array 结合?
Combining levenshtein with in_array in PHP?
我想验证数组中是否存在因子 <= 2 的编辑器。所以:
in_array("test", $some_array);
类似于"check if in array, can have errors if levenshtein factor <= 2, by comparison"
levenshtein("test", $element_of_array_by_'in_array'_function);
这可能吗,还是我必须迭代数组?
这应该适合你:
您正在寻找 array_reduce()
。有了这个,您可以将数组减少到一个 return 值。
您从 FALSE
作为 return 值开始。然后遍历每个数组元素并检查 levenshtein()
的 return 值是否小于或等于 2.
如果不是,那么 array_reduce()
的 return 值将不会改变,仍然是 FALSE
。如果它小于或等于 2,则将值更改为 TRUE
并且 array_reduce()
将 return TRUE
.
array_reduce($some_array, function($keep, $v){
if(levenshtein($v, "test") <= 2)
return $keep = TRUE;
return $keep;
}, FALSE);
我想验证数组中是否存在因子 <= 2 的编辑器。所以:
in_array("test", $some_array);
类似于"check if in array, can have errors if levenshtein factor <= 2, by comparison"
levenshtein("test", $element_of_array_by_'in_array'_function);
这可能吗,还是我必须迭代数组?
这应该适合你:
您正在寻找 array_reduce()
。有了这个,您可以将数组减少到一个 return 值。
您从 FALSE
作为 return 值开始。然后遍历每个数组元素并检查 levenshtein()
的 return 值是否小于或等于 2.
如果不是,那么 array_reduce()
的 return 值将不会改变,仍然是 FALSE
。如果它小于或等于 2,则将值更改为 TRUE
并且 array_reduce()
将 return TRUE
.
array_reduce($some_array, function($keep, $v){
if(levenshtein($v, "test") <= 2)
return $keep = TRUE;
return $keep;
}, FALSE);