original_string: public function remove($key)
      {
          $key = is_array($key) ? $key : [$key];
          $config = $this->data;
          $data = &$config;
          while ($key) {
              $k = array_shift($key);
              if (!$key) {
                  unset($config[$k]);
                  break;
              }
              $config[$k] = isset($config[$k]) ? $config[$k] : [];
              $config = &$config[$k];
          }
          $this->data = $data;
          return $this->save();
      }
code: public function remove($key)
      {
          $key = is_array($key) ? $key : [$key];
          $config = $this->data;
          $data = &$config;
          while ($key) {
              $k = array_shift($key);
              if (!$key) {
                  unset($config[$k]);
                  break;
              }
              $config[$k] = isset($config[$k]) ? $config[$k] : [];
              $config = &$config[$k];
          }
          $this->data = $data;
          return $this->save();
      }
code_tokens: public function remove ( $ key ) { $ key = is_array ( $ key ) ? $ key : [ $ key ] ; $ config = $ this -> data ; $ data = & $ config ; while ( $ key ) { $ k = array_shift ( $ key ) ; if ( ! $ key ) { unset ( $ config [ $ k ] ) ; break ; } $ config [ $ k ] = isset ( $ config [ $ k ] ) ? $ config [ $ k ] : [ ] ; $ config = & $ config [ $ k ] ; } $ this -> data = $ data ; return $ this -> save ( ) ; }
docstring: Removes key from data.
  @see \self::set() For multidimensional
  @param $key
  @return int
docstring_tokens: Removes key from data .