protected function removeChild(Node $child) {
    $this->childCount--;
    foreach ($this->getChildProperties() as $name => $value) {
      if ($child === $value) {
        $this->{$name} = NULL;
        break;
      }
    }
    if ($child->previous === NULL) {
      $this->head = $child->next;
    }
    else {
      $child->previous->next = $child->next;
    }
    if ($child->next === NULL) {
      $this->tail = $child->previous;
    }
    else {
      $child->next->previous = $child->previous;
    }
    $child->parent = NULL;
    $child->previous = NULL;
    $child->next = NULL;
    return $this;
  }
protected function removeChild(Node $child) {
    $this->childCount--;
    foreach ($this->getChildProperties() as $name => $value) {
      if ($child === $value) {
        $this->{$name} = NULL;
        break;
      }
    }
    if ($child->previous === NULL) {
      $this->head = $child->next;
    }
    else {
      $child->previous->next = $child->next;
    }
    if ($child->next === NULL) {
      $this->tail = $child->previous;
    }
    else {
      $child->next->previous = $child->previous;
    }
    $child->parent = NULL;
    $child->previous = NULL;
    $child->next = NULL;
    return $this;
  }
protected function removeChild ( Node $ child ) { $ this -> childCount -- ; foreach ( $ this -> getChildProperties ( ) as $ name => $ value ) { if ( $ child === $ value ) { $ this -> { $ name } = NULL ; break ; } } if ( $ child -> previous === NULL ) { $ this -> head = $ child -> next ; } else { $ child -> previous -> next = $ child -> next ; } if ( $ child -> next === NULL ) { $ this -> tail = $ child -> previous ; } else { $ child -> next -> previous = $ child -> previous ; } $ child -> parent = NULL ; $ child -> previous = NULL ; $ child -> next = NULL ; return $ this ; }
Remove a child node.
@param Node $child
@return $this
Remove a child node .