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'; }
有什么想法吗?
答案 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";
}