如何找到2个不区分大小写的数组的交集?

时间:2015-02-05 20:21:32

标签: php

我想找到2阵列之间的交集。

  • $有效
  • $抛光

我使用array_intersect并将返回值存储在$perfect变量中。

$perfect = array_intersect( $valid, $polish );

到目前为止一切顺利,除了一件事,我希望array_intersect忽略两个数组之间的区分大小写。

最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

这应该适合你:

(这里我只是将所有值都放在array_map()strtolower()的小写字母中)

$perfect = array_intersect(array_map("strtolower", $valid), array_map("strtolower", $polish));

答案 1 :(得分:2)

您可以使用strcasecmp()作为回调使用array_uintersect()(不区分大小写的字符串比较):

$perfect = array_uintersect($valid, $polish, 'strcasecmp');