php in_array函数如何实现不区分大小写?

例如<?php$a=array('aBc','def');$b='Abc';echoin_array($b,$a);?>如何返回TRUE(就是1)或者能用其他方法实现也行... 例如
<?php
$a = array('aBc','def');
$b= 'Abc';
echo in_array($b,$a);
?>

如何返回TRUE(就是1)

或者能用其他方法实现也行,但不要太麻烦(foreach的话,就不要了,这个算最麻烦的方法了)

回复“冰雪残冬”:
这个方法我试过,不行,输出还是空。其实默认不填就是FLASE,有没有办法啊……T_T
展开
 我来答
hotdigger
2010-10-13 · TA获得超过3590个赞
知道大有可为答主
回答量:1458
采纳率:50%
帮助的人:617万
展开全部
在比较之前统一替换成小写或大写.
<?php
$a = array('aBc','def');
//把数组先统一替成小写
foreach($a as &$item){
$item = strtolower($item);
}
$b= 'Abc';
//把要查询的字符串也改成小写.如果你要保存原字符串,写到别的变量中.
$b1 = strtolower($b);

echo in_array($b1,$a);
?>
冰雪残冬
2010-10-13 · TA获得超过203个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:0
展开全部
hotdigger正解
不过会出现个问题就是array中的原始数据丢失
另外在统一转为为小写的时候还是要foreach
foreach之后再调用函数
不如直接在foreach的过程中判断
foreach ($a as $value)
{
if (strtolower($value) == strtolower($b))
{
echo true;
break;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
相逢一笑泯仇恩
2010-10-13 · TA获得超过141个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:131万
展开全部
<?php
$a = array('aBC','def','abc');
$b= 'AbC';
var_dump(preg_grep("/$b/i", $a));
?>
结果是:
array(2) { [0]=> string(3) "aBC" [2]=> string(3) "abc" }

没用in_array() 用的正则
修正符i是不区分大小写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
binjly
2010-10-13 · TA获得超过3064个赞
知道大有可为答主
回答量:2017
采纳率:0%
帮助的人:2706万
展开全部
PHP本身就是严格区分大小写的
你非要不区分大小写的话,只好考虑用正则了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式