array_search函数不检查第一个值

时间:2013-08-01 14:55:48

标签: php arrays search

我有一个数组,当我打印它时,它会给我正确的结果,例如:

[0] => info@mail.com,
[1] => 0909,
[2] => info@mail.com22,
[3] => 0909

现在,当我想检查数据中是否有info@mail.com时,它给出了一个错误,表明该数组中没有该值,但是当我尝试例如info@mail.com22时,它会给出正确的结果

这是代码的一小部分: $ user是我要搜索的单词,$ arrayname是数组。

if (array_search(strtolower($user),array_map('strtolower',$arrayname))){
//value exist
}
else{
//value does not exist
}

现在info@mail.com不存在它说,而info@mail.com22确实存在。

谁有任何想法?

2 个答案:

答案 0 :(得分:4)

array_search返回找到的值的索引。当您搜索第一个项目时,它返回0.这也意味着false。更改您的代码,使其读取

if (false !== array_search(strtolower($user),array_map('strtolower',$arrayname))){

另一种方法是使用in_array

if(in_array(strtolower($user),array_map('strtolower',$arrayname))){

答案 1 :(得分:0)

我只是使用is_numeric

if (is_numeric(array_search(strtolower($user), $arrayname)) {
    /* do something */
}