我有一个数组,当我打印它时,它会给我正确的结果,例如:
[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确实存在。
谁有任何想法?
答案 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 */
}