php in_array找不到号码

时间:2014-10-28 18:38:43

标签: php

in_array没有在我的数组中找到一个数字

$supparr的print_r:

Array ( [0] => 1 [1] => 2 ) 

代码:

if(in_array($r->prodid, $supparr)){ echo 'yes' ; }else{ echo 'no';  }

我有回音' d $ r-> prodid,它肯定显示数字1.数字1在数组中,所以我无法弄清楚为什么in_array不会选择它吗? 它总是不返回任何结果。我尝试过下面的硬编码1并将其放入语音标记中仍然没有结果:

if(in_array(1, $supparr)){ echo 'yes' ; }else{ echo 'no';  }

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用array_search()或您有几种方法可以解决问题。一个是输入true。设置第三个参数true会检查提供和检查的值的类型。

if(in_array($r->prodid, $supparr, true)){ 
    echo 'yes' ; 
}else{ 
    echo 'no'; 
}

第二种方法是输入强制转换或仅将数字设为字符串。

if(in_array("$r->prodid", $supparr)){ 
    echo 'yes' ; 
}else{ 
    echo "no";
}