public static function getListAll(&$lists, &$lists_const, &$option = array()) { foreach ($lists as $list) { $cat_item = new RegionItem(); $cat_item->id = $list->id; $cat_item->name = $list->name; $cat_item->parent_id = $list->parent_id; $cat_item->parent_name = $list->parent_name; $cat_item->country = $list->country; $cat_item->city = $list->city; $cat_item->published = $list->published; if (isset($list->level)) { $cat_item->level = $list->level; } else { $cat_item->level = 0; } $option[] = $cat_item; $childs = array(); if (isset($lists_const[$list->id])) { for ($i = 0; $i < count($lists_const[$list->id]); $i++) { $child = new RegionItem(); $child->id = $lists_const[$list->id][$i]->id; $child->name = $lists_const[$list->id][$i]->name; $child->parent_id = $lists_const[$list->id][$i]->parent_id; $child->parent_name = $lists_const[$list->id][$i]->parent_name; $child->country = $lists_const[$list->id][$i]->country; $child->city = $lists_const[$list->id][$i]->city; $child->published = $lists_const[$list->id][$i]->published; if (isset($list->level)) { $child->level = $list->level + 1; } else { $child->level = 1; } $childs[] = $child; } DJClassifiedsRegion::getListAll($childs, $lists_const, $option); //echo count($lists_const).' '; unset($lists_const[$list->id]); } } return $option; }