最近发现有些人写source时,分不清|(按位或)和||(逻辑或)
if(!$requestCategorys|!in_array($itemcategory['roleId'],$requestCategorys))
{
$itemcategory['checked']='';
}
else
{
$itemcategory['checked']='checked';
}
这样写的结果是不管!$requestCategorys是true或false,in_array函数总会执行,因为这是按位或,|在计算前,前后存在的表达式都要先计算完毕。
所以正确的做法如下:
if(!$requestCategorys||!in_array($itemcategory['roleId'],$requestCategorys))
{
$itemcategory['checked']='';
}
else
{
$itemcategory['checked']='checked';
}