在PHP中更宽容的array_intersect

时间:2012-08-10 03:45:09

标签: php arrays algorithm function

array_intersect接受两个数组并查找匹配的===值并返回结果。但是,数组中的值必须匹配字符的字符。是否存在用于比较两个数组并查找包含类似字符串而非相等类似字符串的值的函数或方法。类似于stripos但有array_intersect的东西。

$array1 = array("howdyhorse", "monkeyjoe", "bill", "donkeymonkey", "carrothorse")
$array2 = array("bill", "horse", "monkeybunk", "apple", "panda")

function($array1, $array2);

Returns an array = array("bill", "horse", "monkeyjoe")

订单没有特别关注。

2 个答案:

答案 0 :(得分:0)

您可以使用array_uintersectsimilar_textsimilar_textO(N**3),因此如果您的比较类似逻辑更简单,则需要编写自己的函数。

答案 1 :(得分:0)

通过类似

的方式运行每个数组的所有值
foreach( $array as $slice )
    $slice = trim( preg_replace( $pattern, $replacement ) ) ;

将所有内容设为小写并删除空格和特殊字符,然后执行array_intersect选项?