您好,欢迎访问一九零五行业门户网

程序逻辑有有关问题,请帮忙

程序逻辑有问题,请大虾帮忙
array('id'=>12,'name'=>'no.1'),
1 => array('id'=>13,'name'=>'no.2'),
);
$_check_id = 0;
if($arr) {
foreach($arr as $v){
?>

程序初始状态为上。
注意$_check_id是三种状态,第一种是为0,即$_check_id=0,第二种是有值,但与数组中的id不相等,即$_check_id=2,第三种状态是:$_check_id与数组中的id相等
现在要求在循环的时候$_check_id 与 数组中id对比
如果相等,将input中的radio选中,即状态为checked
如果不相等,则将循环出来的第一个radio选为checked
当然,也可以拿出循环体来实现,只要能将上面的问题解决就好,想了两三个小时了,麻烦大家给个思路吧
当然,数组也有可能为空,这个就不用判断了,很好解决,现在麻烦的是怎么将上面的问题解决,想了半天,没有头绪,头大了。
------最佳解决方案--------------------
$arr = array(
0 => array('id'=>12,'name'=>'no.1'),
1 => array('id'=>13,'name'=>'no.2'),
2 => array('id'=>14,'name'=>'no.3'),
3 => array('id'=>15,'name'=>'no.4'),
);
$_check_id = 14;
$found = false;
$htmls = array();
if($arr) {
foreach($arr as $v){
$input_pre = << eot;
$input_post = 'no.1'),
1 => array('id'=>13,'name'=>'no.2'),
2 => array('id'=>14,'name'=>'no.3'),
);
$_check_id = 0;
if($arr) {
foreach($arr as &$v) {
if($_check_id == $v['id']) {
$v['check'] = ' checked';
$_check_id = -1;
}
}
if($_check_id >=0) $arr[0]['check'] = ' checked';
foreach($arr as $v){
?>

------其他解决方案--------------------
foreach($arr as $key=>$v){
if($key == $_check_id){
//这儿是checked
continue;
}
......

其它类似信息

推荐信息