Php 我已使用此代码填充复选框。。但它不起作用

Php 我已使用此代码填充复选框。。但它不起作用,php,yii,Php,Yii,在我看来 foreach($add_details_arr as $key=>$val1){ if($val1 == '1'){ $ck1= "checked=>'checked'"; }else{ $ck1= ''; } if($val1 == '2'){ $ck2= "checked=>'checked'"; }else{ $ck2= '';

在我看来

foreach($add_details_arr as $key=>$val1){

    if($val1 == '1'){
            $ck1=  "checked=>'checked'";
    }else{
            $ck1= '';
    } if($val1 == '2'){
            $ck2=  "checked=>'checked'";
    }else{
            $ck2= '';
    }
}

试试这个-

<?php echo CHtml::activecheckBox($model,'setting[0]',array('value'=>'1','uncheckValue'=>null, 'class'=>'radio',checked=>$ck1)); ?>
<?php echo CHtml::activecheckBox($model,'setting[1]',array('value'=>'2','uncheckValue'=>null, 'class'=>'radio',checked=>$ck2)); ?>  

试试
$ck1=“checked='checked'”或简单的
$ck1=“选中”
您使用的是foreach循环,如果循环有多个值,则不保留
$ck1
$ck2
值。
    foreach($add_details_arr as $key=>$val1){

        if($val1 == '1'){
                $ck1 =  'checked';
        }else{
                $ck1= '';
        } if($val1 == '2'){
                $ck2=  'checked';
        }else{
                $ck2= '';
        }
       echo CHtml::activecheckBox($model,'setting[0]',array('value'=>'1','uncheckValue'=>null, 'class'=>'radio',checked=>$ck1));
       echo CHtml::activecheckBox($model,'setting[1]',array('value'=>'2','uncheckValue'=>null, 'class'=>'radio',checked=>$ck2));
    }