php - unset object inside an array of objects -
i have problem remove items array object, same code run in other app. after looping array $categories should empty. code bellow removes children categories removes parent category if user pass second parameter true, if parent doesn't have child remove only.
//the $id of category removed  // $remove_children state if accept removing children categories   function remove_category($id = null, $remove_children = false) {     if ($this->md->is_category($id) && is_bool($remove_children)) {         //get children category         $children = $this->get_children_categories($id);         if (!$children) {             return $this->md->remove($id, $this->categories_table);         } else {             if ($remove_children && is_array($children)) {                 unset($children['parent_category']);                 foreach ($children $child) {                     $removed = $this->md->remove($child->id, $this->categories_table);                     if ($removed) {                         //problem here                         unset($child);                     }                 }                 //the $children not empty after remove items                 if (empty($children)) {                     return $this->md->remove($id, $this->categories_table);                 } else {                     return false;                 }             } else {                 return false;             }         }     } else {         return false;     } }      
for removing/setting null array element need pass particular index of array  unset($children[$key]);-
foreach ($children $key=>$child) {                     $removed = $this->md->remove($child->id, $this->categories_table);                     if ($removed) {                         //problem here                         unset($children[$key]);                     }                 }   hope you.
Comments
Post a Comment