在 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);