一般从数据循环出来的选框要处理是否被选中都是使用if去判断,结果造成代码一堆,速度过慢。
我做了一个闭包分享给大家,希望对大家有用。
代码:
function ifnumexists($numlist,$key) {
$return = false;
$arraylist = split(,, $numlist);
$length = count($arraylist)-1; //最后一个数组结果为空,所以应当减去。
for ($i=0;$i if ($arraylist[$i] == $key) {
$return = true;
}
}
return $return;
}
使用方法:
ifnumexists(数组,当前单选框对应id)
表结构:
单选框循环表(a):
id class
1 类别1
2 类别2
3 类别3
4 类别4
单选值存放表(b):
id classid
1 1,2,3,
2 2,3,4,
3 1,2,
当循环表a,判断是否当前input是否被选中,那么我们就可以使用
ifnumexists(classid,表aid),返回的结果为true或者false,根据返回的结果我们给input增加或者不增加 checked=checked。
如:if (ifnumexists(classid,$value['id'])) {
$list = $list..$value['class'].;
}else{
$list = $list..$value['class'].;
}
return $list;