小物件之checkbox复选框
有时候需要输出一组checkbox复选框,并且做根据选定元素将其选中的功能,以往都要在模板中循环输出checkbox标签,同时加以判断是否需要选中,这样就会造成很多开始闭合标签 以前都是这样写
现在我将这样的代码封装成一个函数直接调用
封装函数如下:
完整代码如下:
<?php function get_checkbox($array=array(),$key_list=array()) { $string=$attribute_info=""; $attribute=isset($array['attribute'])?(array)$array['attribute']:array();//获取属性 $data=isset($array['data'])?(array)$array['data']:array();//获取data foreach ($attribute as $key => $v) { $attribute_info.=' '.$key.'="'.$v.'" ';//拼接成checkbox的属性 } //遍历全部 foreach ($data as $k => $v) { $checked=""; if(in_array($k,$key_list)) { $checked='checked="checked"';//如果设置了选择key 就选中它 } $string.= "<input type='checkbox' value='{$k}' {$attribute_info} {$checked} />{$v}";//拼接checkbox } return $string;//返回该复选框 } $array=array( "attribute"=>array( "name"=>"checkbox_name[]", ), "data"=>array( 1=>"看书", 2=>"打篮球", 3=>"看电影", 4=>"旅行", 5=>"打游戏", 6=>"冒险", ), ); $my_hobby=array(1,2,5); echo (get_checkbox($array,$my_hobby)); ?>
效果如图: