【问题标题】:PHP case-insensitive array search functions [duplicate]PHP不区分大小写的数组搜索功能[重复]
【发布时间】:2011-08-05 12:38:06
【问题描述】:

可能重复:
PHP case-insensitive in_array function

使用in_array函数时是否可以进行不区分大小写的比较?

所以使用这样的源数组:

$a= array(
 'one',
 'two',
 'three',
 'four'
);

以下查找都将返回 true:

in_array('one', $a);
in_array('ONE', $a);
in_array('fOUr', $a);

什么功能或一组功能会做同样的事情?我不认为in_array 本身可以做到这一点。因为它区分大小写。

【问题讨论】:

  • 你认为数组是全小写的还是无论如何数组都可以包含值?
  • no 可以包含任何大小写值。

标签: php arrays


【解决方案1】:

如果要对数组的每个元素应用 strtolower,请使用array_map

in_array(strtolower('ONE'), array_map('strtolower', $a));

【讨论】:

  • 已编辑以适用于任何此类字符串。 @Manikandan:如果 $a 总是由小写字符串组成,那么您在这里并不需要 arary_map
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 2016-07-06
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-03-06
相关资源
最近更新 更多