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


How to find the intersection of 2 arrays with case insensitive?

我想找到2个数组之间的交集。

  • $有效
  • $polish

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

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

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

最好的方法是什么?

这应该适用于您:

(这里我只是用array_map()strtolower()将所有值放在小写)

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

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

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