getAllParent([]); $extra_space = ""; for($i = 1; $i < $level; $i++){ $extra_space .= "     "; } $result = ""; if(isset($all_categories[$categoryParentId])) { foreach($all_categories[$categoryParentId] as $cat_info){ $cat_id = $cat_info['id']; if($selectedId == $cat_id) { $result .= ""; } else { $result .= ""; } if($cat_info['is_parent']) { $result .= $this->getDropBox($selectedId, $cat_id, $level+1); } } } return $result; } public function categorySelectBox(array $array_selected, $categoryParentId, $level=1){ $all_categories = $this->getAllParent([]); if(!isset($all_categories[$categoryParentId])) return ''; $extra_space = ""; for($i = 1; $i < $level; $i++){ $extra_space .= "     "; } $result = ''; foreach ( $all_categories[$categoryParentId] as $item ) { $checked = (in_array($item['id'], $array_selected)) ? "checked" : ""; if($item['is_parent']) { $result .= $extra_space ." ". $item['title']."
"; $result .= $this->categorySelectBox( $array_selected, $item['id'], $level+1); }else{ if(!$checked) { $result .= $extra_space . "
"; }else{ $result .= $extra_space . "
"; } } } return $result; } }